به نام خدا درس ساختمان داد هها و الگوریتم ها )سال تحصیلی ، ۹۰-۸۹ترم (۲ استاد دکتر محمد علی آبام دستیاران استاد احسان امام جمعه زاده اشکان نوروزی پروژه چهار خها مهلت ارسال پاس پایان روز ۱۰تیر سلم لطفْا توضیحات زیر را با دقت بخوانید: ✗ یتوانید به زبان سی پلس پلس و یا جاوا بنویسید. برنامه های خود را م ✗ یتوانید نمره بگیرید) .اگر برای هر دو ی این مسأله ها ،برنامه هر کدام از این دو مسأله) ،تا سقف( یک نمره دارند .ولی تنها از یکی از این دو مسأله م ارسال کنید ،بین نمرههایی که از این دو مسأله گرفته اید ،ماکسیمم گرفته می شود(. ✗ مهم :شیوه ی ارسال پروژه: برنامه ی مربوط به پروژه ی چهارم همراه با برنامههای مربوط به این سوالت ،همه را در پوشه ای به نام stdID_PR4قرار دهید .سپس آن پوشه رافشرده کنید و در نهایت فایل فشرده ای با نام stdID_PR4.zipبه آدرس ds.40.sharif@gmail.comارسال نمایید. عنوان ایمیل هم باید PR4باشد. علوه بر ارسال پروژه ها به آدرس گفته شده ،باید برنامههای خود را به آربیتر ) ( http://acm.sharif.edu/arbiterنیز ارسال نمایید .آربیتر بهصورت آنلین برنامههای شما را تست کرده و نتیجه را به شما گزارش می کند) .البته نتیجهای که آربیتر به شما گزارش می کند ،نتیجه ی نهایی پروژه تان نیست!( تذکر :در آربیتر ،نام کاربری شما باید به فرم ds88888888باشد که در آن به جای ، 88888888شماره ی دانشجوییتان قرار می گیرد. ارسال برنامه هم به آدرس جیمیل درس و هم ارسال به آربیتر ،هر دو ضروری است .ضمن ْا دقت کنید که برای هر مسئله، آربیتر آخرین ارسال شما را ملک قرار می دهد. ✗ مهلت ارسال پروژه ی چهام و پروژه ی اضافه ،تا جمعه ۱۰ ،تیر تمدید شده است. ✗ اگر درباره ی پروژه ها سؤالی داشتید ،به ds.40.sharif@gmail.comایمیل بزنید. Game.java توضیح :این مسئله ،پیش تر در فایل پروژه ی چهارم هم گفته شده بود. , Game.cpp nکارت به ترتیب روی میز چیده شدهاند و در ابتدا روی هر یک از کارت ها ،یک عدد صحیح نا منفی نوشته شده است. یشود که در هر مرحله از بازی: یک بازی دو نفره به این صورت انجام م ینویسد )این عدد ممکن است یکند و عدد صحیح دلخواهی روی آن م یکند ،عدد روی کارت را پاک م ابتدا نفر اول ،ابتدا یکی از کارت ها را به دلخواه انتخاب م منفی باشد!( سپس یک عدد طبیعی iاعلم می کند. یکند باید ناصفر اکنون نوبت بازی نفر دوم است .نفر دوم باید از بین iکارت اول ،تعداد ناصفری کارت مجاور انتخاب کند) .تعداد کارت هایی که انتخاب م باشد(. امتیازی که نفر دوم از این مرحله می گیرد ،برابر است با مجموع اعداد نوشته شده بر روی این کارت ها. این کار mبار تکرار می شود .در پایان بازی ،امتیاز نفر دوم برابر است با مجموع امتیازی که در mمرحله گرفته است. به نفر دوم کمک کنید تا بیش ترین امتیاز ممکن را بگیرد. ورودی: در نخستین خط ورودی ،عدد ) nتعداد کارت ها( آمده است و سپس در خط بعدی nعدد صحیح نامنفی که بیان گر اعداد اولیه ی روی کارت ها هستند. سپس در خط بعدی عدد ) mتعداد مراحل بازی( آمده است .در mخط بعدی ،در هر خط ،سه عدد pو qو iآمده اند p .و qبیان گر این هستندکه نفر اول ،عدد pامین کارت را به qتبدیل کرده .عدد iهم که در متن سؤال توضیح داده شده است. یتواند صفر باشد. تعداد کارت هایی که نفر دوم در یک مرحله انتخاب می کند ،نم خروجی: یتواند در طول بازی به دست آورد ،بنویسید. در تنها خط خروجی ،حداکثر امتیازی را که نفر دوم م محدودیت ها: 0 n ≤ 2∗105و 5 0 ≤ m ≤10 اعداد روی کارت ها نیز همواره در بازه ی )در ۳۰درصد تست ها : 0 n ≤ 10و 4 ( 0 ≤ m ≤10 4 ] [ −10 6 , 106قرار دارند. محدودیت حافظه هر تست ۶۴ :مگابایت محدودیت زمانی هر تست ۴ :ثانیه برای سی پلس پلس ۶ ،ثانیه برای جاوا sample input : 5 10 20 20 100 30 2 2 -1000 3 4 -10 5 sample output : 60 یکند و ۲۰امتیاز می گیرد .سپس در مرحله ی بعدی ،کارت های سوم و چهارم و پنجم را توضیح خروجی نمونه :بازیکن دوم ،در مرحله ی اول بازی ،سومین کارت را انتخاب م یکند و ۴۰امتیاز می گیرد( 20 −10 30 = 40 ) . انتخاب م , SecondGame.java SecondGame.cpp همان دو بازیکن ،این بار یک بازی دیگر ترتیب دادهاند: یتوانند نها یک عدد صحیح می نویسد) .اعداد روی کارت ها م یشوند و نفر اول روی هر یک از آ در این بازی جدید نیز در ابتدا nکارت روی یک میز چیده م مثبت ،منفی و یا صفر باشند (.در این بازی )بر خلف بازی قبلی( ترتیب کارت ها اهمیتی ندارد. یتواند تغییر دهد؛ بلکه در هر مرحله ،یک کارت جدید به مجموعه ی کارت های قبلی می افزاید و روی آن عددی دلخواه این بار ،نفر اول ،اعداد روی کارت ها را نم می نویسد. یشود که حداقل i سپس عدد طبیعی iرا به نفر دوم می دهد .نفر دوم باید دقیقْا iکارت انتخاب کند) .فرض کنید در هر مرحله ،عدد iبه گونهای انتخاب م کارت روی میز موجود باشد. امتیازی که نفر دوم از این مرحله می گیرد ،جمع اعداد روی iکارت انتخاب شده است. این کار mبار تکرار می شود .در پایان بازی ،امتیاز نفر دوم برابر است با مجموع امتیازی که در mمرحله گرفته است. به نفر دوم کمک کنید تا بیش ترین امتیاز ممکن را بگیرد. ورودی: در نخستین خط ورودی ،عدد ) nتعداد کارت ها( آمده است و سپس در خط بعدی nعدد صحیح که بیان گر اعداد اولیه ی روی کارت ها هستند. سپس در خط بعدی عدد ) mتعداد مراحل بازی( آمده است. در mخط بعدی ،در هر خط ،دو عدد pو iآمده اند. pبیان گر این است که نفر اول ،کارتی را با عدد pبه مجموعه ی کارت ها اضافه کرده است .عدد iهم که در متن سؤال توضیح داده شده است. خروجی: یتواند در طول بازی به دست آورد ،بنویسید. در تنها خط خروجی ،حداکثر امتیازی را که نفر دوم م محدودیت ها: 0 n ≤ 2∗105و 5 0 ≤ m ≤10 اعداد روی کارت ها نیز همواره در بازه ی )در ۲۰درصد تست ها : 0 n ≤ 10و 4 ( 0 ≤ m ≤10 4 ] [ −10 6 , 106قرار دارند. محدودیت حافظه هر تست ۶۴ :مگابایت محدودیت زمانی هر تست ۴ :ثانیه برای سی پلس پلس ۶ ،ثانیه برای جاوا sample input : 5 -10 -10 -100 100 -50 2 1000 4 -1 3 sample output : 2179 یگیرد و در مرحله ی بعد ۱۰۹۹ ،امتیاز توضیح خروجی نمونه :بازیکن دوم ،در مرحله ی اول ۱۰۸۰امتیاز م
© Copyright 2025 Paperzz