پس از تنشهای بسیار میان راک (رادین کمونیست) و کاکا (کاوه کاپیتالیست)، این دو فرد با هم وارد جنگ شدهاند.
کاهو یکی از سربازهای ارتش کاکا است و از آنجایی که روحیه جنگجویی ندارد میخواهد از میدان جنگ فرار کند.
میدان جنگ به شکل یک جدول است که در تعدادی از خانه های آن مین وجود دارد. کاهو در خانهی گوشه پایین-چپ جدول قرار دارد و میخواهد به خانهی گوشه بالا-راست جدول برود تا از میدان جنگ فرار کند. او در هر لحظه به سمت یکی از چهار جهت بالا، پایین، چپ و راست قرار دارد.
کاهو میخواهد پیش از شروع دنبالهای از حرکات را برای خود یادداشت کند تا در هنگام فرار از آن پیروی کند. هر حرکت دنباله به یکی از سه حالت زیر است:
همچنین کاهو آدم عاقلی است بنابراین اگر با پیروی از دستوری از جدول خارج شود، پا بر روی مین بگذارد یا اگر پیش از این دستور به نقطهی پایان رسیده باشد این دستور را اجرا نمیکند و سراغ دستور بعدی میرود. یعنی در هر لحظه ای که کاهو به گوشه بالا-راست جدول رسیده باشد حرکت خود را متوقف میکند و دیگر به حرکت ادامه نمیدهد.
کاهو میداند پیش از نوشتن یادداشت خود به یکی از دو جهت بالا یا راست بوده، اما نمیداند کدام یک.
او میخواهد یادداشت خود را طوری بنویسد که در هر دو حالت جهت اولیه با اجرای دستورات مطابق آن از خانه پایین-چپ به خانه بالا-راست جدول برسد. منطقا میخواهد تعداد دستوراتی که برای خود مینویسد کمینه باشد.
شما باید عدد کمینه تعداد دستوراتی که او نیاز دارد بنویسد را بدست بیاورید.
در خط اول یک عدد داده میشود. سپس در خط بعدی در خط ام یک رشته به طول داده میشود که کاراکتر ام آن وضعیت وجود/عدموجود مین در خانه محل تقاطع سطر ام از بالا و ستون از چپ است. کاراکتر M
نشاندهنده وجود مین در این خانه و K
نشاندهنده خالی بودن این خانه است.
تضمین شده است مسیری بدون مین از گوشه پایین-چپ به گوشه بالا-راست جدول وجود دارد.
طول کوتاهترین دستورالعمل که کاهو را به مقصد میرساند را خروجی دهید.
یکی از دستورالعملهای نمونه «جلو، راست، جلو، جلو، چپ، جلو، چپ، جلو، جلو» است.
بعد از به قدرت رسیدن کاکا در سرزمین غااززز، جدل و جدال بین کاکا و راک بیشتر و بیشتر شد...
کاکا از طریق جاسوسهایش خبردار شده که راک در پروژهای جدید قصد دارد تانک متمایز طراحی کند.
همچنین میداند راک برای پروژه مهندس در اختیار دارد. پروسه طراحی تانک به این شکل است که هر مهندس در ساخت حداکثر یک تانک میتواند دخیل باشد (به دلایل فوق امنیتی)، و طراحی تانک ام به به اندازه تقسیم بر تعداد مهندسهایی که آن را طراحی میکنند زمان میبرد.
یعنی اگر مهندس در طراحی تانک شرکت داشته باشند، طراحی این تانک ساعت زمان میبرد (این مقدار لزوماً صحیح نیست).
از آنجایی که منابع محدود است، طراحی تانکها نمیتواند به صورت موازی انجام شود. یعنی در هر لحظه فقط یک تانک میتواند در حال ساخت باشد.
حال کاکا میخواهد بداند اگر راک به بهینهترین روش عمل کند، پروسه ساخت تانکها چند ساعت زمان میبرد. دقت کنید پاسخ لزوماً عددی صحیح نیست و شما باید گرد شده عدد پاسخ را به عنوان جواب خروجی دهید.
در خط اول به ترتیب تعداد تانکها و تعداد مهندسها داده میشود.
در خط بعد زمان ساخت تانک ام داده میشود.
نزدیکترین عدد صحیح به کمینه زمان ساخت تانکها را خروجی دهید.
زیرمسئه | نمره | محدودیت |
---|---|---|
۱ | ۵ | |
۲ | ۵۵ | |
۳ | ۴۰ | بدون محدودیت بیشتر |
راک پس از ساخت تانکها قرار است به قلعهی کاکا حمله کند. قلعه توسط دیواری دفاعی محافظت میشود.
کاکا میداند تانک ام بازه دیوار دفاعی سرزمینش را هدف گرفته. با شلیک زیرمجموعهای از تانکهای راک، تمامی قسمتهای دیوار که حداقل یک تانک به آن شلیک کند تخریب میشود.
برای بازسازی دیوار کاکا باید به تعداد مولفههای قسمتهای تخریب شده به توان هزینه کند (یعنی اگر تعداد مولفههای خراب شده باشد، باید هزینه کند). برای فهم بیشتر به توضیحات ورودی نمونه مراجعه کنید.
مجموع هزینه بازسازی دیوار بهازای تمامی زیرمجموعههای ناتهی از تانکهایی که شلیک میکنند را محاسبه کنید و مقدار حساب شده را باقیمانده بر به کاکا بگویید.
در خط اول ورودی و به شما داده میشود.
در هر یک از خط بعد دو عدد و داده میشود.
نکته: تمامی ها عدد متمایز عضو هستند.
پاسخ مسئله را باقیمانده بر چاپ کنید.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۶ | |
۲ | ۲۰ | |
۳ | ۲۰ | |
۴ | ۵۴ | بدون محدودیت بیشتر |
هزینه بازسازی برای هر زیرمجموعه از تانکهایی که شلیک میکنند در پایین نوشته شده:
کاکا پس از تلاش های ناموفق برای کشتن راک تصمیم گرفت با کمک افراد دیگر او را ترور کند. او در شهری زندگی میکند که میدان و خیابان دوطرفه دارد که هریک دو میدان متفاوت را به هم متصل میکند. از هر میدان میتوان به میدانهای دیگر رفت (به عبارت دیگر یک درخت است).
میدانهایی که دقیقاً یک خیابان به آنها متصل است (برگ های درخت) به خارج شهر راه دارند.
میدانیم راک در ابتدا در میدان است و میخواهد به یک برگ برسد تا از شهر خارج شود و کاکا میخواهد از خارج شهر تعدادی از افرادش را در تعدادی از برگها مستقر کند.
راک و افراد کاکا در هر ساعت میتوانند یک خیابان (متصل به میدان کنونیشان) را طی کنند یا در جای خود بمانند و اگر راک و یکی از افراد کاکا در یک لحظه در یک نقطه (درون یک میدان یا یک خیابان) باشند آنگاه راک توسط افراد کاکا ترور میشود. دقت کنید راک و افراد کاکا همیشه موقعیت همدیگر را میدانند.
چون افراد بیشتر برای کاکا هزینه بالاتری دارد میخواهد حداقل تعداد افرادی را پیدا کند که راک را بتواند ترور کند. شما باید به کاکا در پیدا کردن این عدد کمک کنید.
دقت کنید که اگر پاسخ شما عدد باشد، یعنی:
در خط اول اعداد و تعداد میدانها و میدانی که راک قرار گرفته، به ترتیب داده شدهاند.
سپس در هر کدام از خط بعدی دو عدد و آمده است که نشان دهنده وجود خیابان بین دو میدان و است.
تضمین میشود گراف میدانها و خیابانهای بینشان یک درخت است. میدان k حداقل 2 همسایه دارد و برگ نیست.
در تنها خط خروجی کمینه تعداد افرار مورد نیاز برای ترور راک را چاپ کنید.