دو کشور شکرستان و نمکستان که دارای جمعیت تقریبا یکسانی هستند برای درمان بیماران کرونایی خود از داروهای متفاوتی استفاده کردهاند. هر دو کشور آمار مبتلایان و فوتیهای کرونایی خود را اعلام کردهاند. میخواهیم بدانیم داروهای کدام کشور موثرتر است. کشوری که تعداد بهبودیافتگان بیشتری داشته باشد، از داروهای موثرتری استفاده کرده است. تعداد بهبودیافتگان یک کشور از تفاضل تعداد مبتلایان و تعدادی فوتیهای آن کشور به دست میآید.
ورودی شامل چهار خط است. در دو خط اول ورودی دو عدد صحیح و آمده است که به ترتیب نشان دهندهی تعداد مبتلایان و تعداد فوتیهای کشور شکرستان است.
در خطوط سوم و چهارم ورودی، دو عدد صحیح و آمده است که به ترتیب تعداد مبتلایان و تعداد فوتیهای کشور نمکستان را نشان میدهد.
در تنها خط خروجی، در صورتی که داروهای کشور شکرستان موثرتر بوده است عبارت Shekarestan
، درصورتی که داروهای کشور نمکستان موثرتر بوده است Namakestan
و در غیر این صورت عبارت Equal
را چاپ کنید.
دانشگاه صنعتی شکرستان دانشجو با شمارههای دانشجویی ١ تا دارد که هر کدام میتوانند در تعدادی از کلاسهای ترم جاری ثبت نام کنند (این تعداد میتواند صفر باشد). برنامهای بنویسید که بتواند پاسخ پرسش ما را بدهد. هر پرسش به این صورت است که شمارهی تعدادی از کلاسها را به عنوان ورودی به برنامه میدهیم و برنامه باید تعداد دانشجویانی که در تمام این کلاسها ثبت نام کردهاند را به عنوان خروجی بدهد.
در خط اول به ترتیب و و داده میشود که تعداد دانشجویان، تعداد کلاسهای ترم جاری و تعداد سوالهایی است که از برنامه میپرسیم.
در خط بعدی، در خط ام ابتدا تعداد دانشجویانی که در درس ام ثبت نام کردهاند و سپس شمارهی دانشجویانی که در درس ام ثبت نام کردهاند، داده شده است. شمارهی دانشجویان از ١ تا است.
در سطر بعدی در هر سطر یک سوال از برنامه پرسیده میشود، در هر کدام از این سطر، ابتدا تعداد کلاسها و سپس شمارهی کلاسهایی که در مورد آنها سوال میشود، داده میشود. شمارهی کلاسها از ١ تا است.
در خط ام از خط خروجی، باید جواب سوال ام، یعنی تعداد دانشجویان مشترک کلاسهای سوال ام را چاپ کنید.
رشتهای باینری (شامل رقمهای 0
و 1
(به طول داریم. میخواهیم حداقل تعداد بیتهایی را تغییر دهیم که رشتهای قابل قبول ایجاد کنیم. رشتهای قابل قبول است، اگر هیچ زیر رشته (نه لزوما متوالی) به صورت 010
یا 101
نداشته باشد. برای مثال رشتههای 1000
و 0001
قابل قبول و رشتههای 1001
و 0110
غیر قابل قبول هستند. حداقل تعداد بیت لازم را بیابید که با تغییر آنها به رشتهای قابل قبول برسیم.
ورودی شامل دو خط است. در خط اول عدد و در خط دوم یک رشتهی باینری به طول شامل کاراکترهای 0
و 1
آمده است.
در تنها خط خروجی، حداقل تعداد بیتهای لازم را اعلام کنید که با تغییر آنها، رشتهی ورودی قابل قبول شود.
اکبر به تازگی برندهی یک جایزهی ویژه از فروشگاه شدهاست. جایزهی او به این صورت است که فروشگاه یک عدد طبیعی رقمی در اختیار او گذاشته است و او باید رقم آن را حذف کند تا کارت هدیهای به مبلغ عدد باقیمانده جایزه بگیرد. به او کمک کنید تا بتواند بزرگترین جایزهی ممکن را کسب کند.
ورودی شامل دو خط است. در خط اول دو عدد طبیعی و داده میشوند که به ترتیب تعداد ارقام خرید و تعداد ارقامی که اکبر باید حذف کند، را نشان میدهند. در خط بعدی یک عدد طبیعی رقمی داده میشود.
در تنها خط خروجی، بیشترین مقداری که اکبر میتواند جایزه بگیرد را چاپ کنید.
یک نوار رنگی داریم که به صورت یک سطر افقی شامل خانه است. هر خانه با یکی از رنگ موجود رنگ شده است. میخواهیم رنگ حداقل تعداد خانهی لازم را تغییر دهیم به صورتی که در نهایت هیچ دو خانهی مجاوری رنگ یکسان نداشته باشند. برای تغییر رنگ خانهها، از هر رنگ دلخواه بین ١ تا میتوانیم استفاده کنیم.
خط اول ورودی شامل دو عدد صحیح و است. خط دوم شامل حرف بزرگ انگلیسی است. حرف A
به معنای رنگ اول، حرف B
به معنای رنگ دوم، و به همین ترتیب تا حرف Z
به معنای رنگ ٢۶ام است. تنها حرف اول انگلیسی میتوانند ظاهر شوند. هر حرف نمایندهی رنگ خانه متناظرش در نوار است.
در تنها خط خروجی، حداقل تعداد خانهای که لازم است رنگ آنها عوض شود را چاپ کنید.
در مثال بالا با تغییر دادن رنگ خانهها از ABBACC
به ACBABC
به خواسته ی مورد نظر میرسیم.
در مثال بالا کافی است رنگ خانهی اول را به A
تغییر دهیم.
احمد شیء و جعبه دارد که هر جعبه اندازهاش برابر است. اشیاء به ترتیب از چپ به راست با ١ تا شماره گذاری شدهاند و اندازهی شیء ام برابر است.
با احمد میخواهد اشیاء را درون جعبهها قرار دهد و برای این کار الگوریتم زیر را اجرا میکند:
ابتدا یک جعبهی خالی در دستش میگیرد و یک عدد انتخاب میکند. سپس از شیء ام شروع میکند و آن را در جعبهی فعلی قرار میدهد و به سراغ شیء ام میرود. حال اگر شیء ام در جعبهی فعلی بتواند قرار بگیرد، آن را در جعبه ی فعلی قرار میدهد. در غیر این صورت، جعبهی فعلی را بسته بندی کرده و کنار میگذارد و جعبهی خالی دیگری را برمی دارد تا شیء ام را در آن قرار دهد. او این کار را تا زمانی تکرار میکند که شیء ام در جعبهای قرار بگیرد و یا جعبههایش تمام شود. سپس الگوریتم پایان مییابد. احمد میخواهد حتماً تمام شیءهای تا را در جعبهای قرار داده باشد. بنابراین اگر هنگام قرار دادن یک شیء، آن شیء را نتواند در جعبهی فعلیاش قرار دهد و جعبههای خالیاش نیز تمام شده باشند، به هدفش نرسیده است.
به احمد کمک کنید عدد را طوری انتخاب کند که بیش ترین تعداد شیء را بتواند در جعبهها قرار دهد و تمام اشیاء از تا درون جعبهها قرار گرفته باشند.
در خط اول ورودی به ترتیب سه عدد صحیح و و آمده اند که تعداد اشیاء، تعداد جعبهها و اندازهی جعبهها را نشان میدهند.
در خط بعدی، عدد آمده اند که نمایانگر اندازهی شیء ام است.
در تنها خط خروجی، بیش ترین تعداد شیء هایی که احمد میتواند طبق الگوریتم گفته شده در جعبهها قرار دهد چاپ کنید.
میلاد یک دانشجوی عاشق برنامه نویسی است. یک روز میلاد در حالی که داشت به یکی از سوالات مسابقهی سالهای پیش ICPC فکر میکرد، به خودش آمد و دید تعداد زیادی رقم روی کاغذ چرک نویسش نوشته است. پس از بررسیهای فراوان میلاد فهمید که روی کاغذ، بار صفر، بار یک و... و بار نه نوشته است.
او که شیفتهی عدد ١١ است، میخواهد بداند چند عدد رقمی متشکل از ارقامی که میلاد روی کاغذش نوشته است وجود دارد که بر ١١ بخش پذیر باشد. به میلاد کمک کنید این تعداد را پیدا کند. از آن جایی که این عدد ممکن است خیلی بزرگ باشد، باقیماندهی آن را بر بیابید. توجه کنید که صفر در ابتدای عدد مجاز است.
در تنها خط ورودی ۱۰ عدد صحیح آمده است که به ترتیب نشان دهنده ی اعداد تا است.
در تنها خط خروجی، باقیماندهی تعداد اعداد مطلوب را بر چاپ کنید.
در مثال بالا، تنها عدد ممکن ١٢١ است.
سروش یک دفتر دارد که روی هر ورق آن یک عدد طبیعی با خودکار آبی نوشته است. سپس پیمان دفتر سروش را بر میدارد و روی هر ورق آن یک عددی دیگر با خودکار قرمز مینویسد که برابر با یکی از دو حالت زیر است:
سپس کیوان تمام ورقها را از دفتر جدا میکند و ترتیب آنها را خراب میکند. حال رضا برای خوشحالی سروش تصمیم میگیرد با توجه به عددهایی که روی برگهها نوشته شده، برگهها را به ترتیب اولیه قرار دهد. اما محمد به رضا میگوید این کار با بیش از یک روش انجام میگیرد. رضا از علی میپرسد به چند شکل ممکن میتوان ورقها را چید که عدد قرمز هر ورق، برابر با جمع عددهای آبی ورقها از ابتدا تا این ورق یا از انتها تا این ورق باشد. به علی کمک کنید جواب رضا را بدهد. با توجه به اینکه این مقدار ممکن است خیلی زیاد باشد، باقیماندهی آن در تقسیم بر را چاپ کنید.
در خط اول ورودی یک عدد طبیعی آمده است که تعداد ورقهای دفتر را نشان میدهد.
در خط بعدی، در خط ام، دو عدد طبیعی و آمده است که به ترتیب عدد آبی و عدد قرمز روی یکی از ورقها را نشان میدهد.
تضمین میشود حداقل به یک روش میتوان ورقها را مرتب کرد طوری که شرط مسئله برقرار باشد.
در تنها خط خروجی، باقیماندهی تعداد حالتهایی که ممکن است ورقها در ابتدا در دفتر قرار داشته باشند را در تقسیم بر چاپ کنید.
هنرمند وسواسی ستون ساخته و آنها را برای نمایش در یک گالری هنری نصب کرده است. این ستونها در یک ردیف و به صورت متوالی نصب شدهاند. هنرمند پس از نصب ستونها متوجه شده است که این ستونها خوش ترتیب نیستند. تعدادی ستون که در یک ردیف نصب شدهاند، خوش ترتیباند اگر و تنها اگر ارتفاع هر دو ستون مجاور متفاوت باشد.
متاسفانه هنرمند وسواسی امکان تغییر ترتیب ستونها یا کاهش ارتفاع آنها را ندارد. برای هر ستون او تنها میتواند ارتفاع ستون را تغییر ندهد و یا ارتفاع آن را مقدار صحیحی افزایش دهد. دقت کنید که مواد به کار رفته در ساخت ستون ها متفاوت است، به همین دلیل افزایش یک واحد ارتفاع هر ستون، هزینهای دارد که مخصوص آن ستون است. هنرمند وسواسی میخواهد با افزایش ارتفاع تعدادی از این ستونها، آنها را خوش ترتیب کند و از ما کمک خواسته است تا به او بگوییم کمترین هزینه برای انجام این کار چقدر است.
در خط اول ورودی ، تعداد ستونها، داده میشود. در خط بعدی، اطلاعات مربوط به ستونها، به ترتیب داده میشود. در خط ام، به ترتیب اعداد صحیح و داده میشوند که به ترتیب ارتفاع ستون ام و هزینهی افزایش یک واحد آن هستند.
در خروجی کمترین هزینهی ممکن برای خوش ترتیب کردن ستونها را چاپ کنید.
در مثال بالا برای کمترین هزینه باید به ارتفاع ستونهای دوم، چهارم و پنجم یک واحد افزوده شود.
در مثال بالا برای کم ترین هزینه باید ارتفاع ستون دوم، دو واحد افزایش یابد.
هنرمند وسواسی لکهای روی دیوار اتاقش پیدا کردهاست. این لکه به صورت یک رشته به طول از حروف کوچک انگلیسی است. هنرمند که خیلی وسواسی است، میخواهد هر چه زودتر لکه را پاک کند. او به خاطر وسواس زیادش فقط یکی از دو عملیات زیر را برای پاک کردن انجام میدهد:
برای مثال اگر رشته نمایانگر لکهی aabcx
باشد، هنرمند میتواند زیررشتهی aa
را حذف کند چون پالیندروم است و سپس کاراکتر آخر را به b
تغییر دهد تا رشته تبدیل به bcb
شود. سپس در یک مرحلهی دیگر میتواند این رشتهی پالیندروم را حذف کند.
متاسفانه هنرمند با دیدن لکه بیش از حد وسواسی شده و از شما میخواهد با گرفتن رشتهی نمایانگر لکه، حداقل تعداد عملیات برای پاک کردن آن را حساب کنید.
در تنها خط ورودی رشتهی از حروف کوچک انگلیسی که نمایانگر لکه است، به شما ورودی داده میشود.
در تنها خط خروجی حداقل تعداد عملیات لازم برای پاک کردن لکه را چاپ کنید.
در مثال بالا رشته از همان ابتدا پالیندروم است و در یک مرحله میتوان آن را پاک کرد.
در مثال بالا در حرکت اول میتوان حرف آخر را تبدیل به a
کرد و سپس در حرکت دوم رشتهی پالیندروم به دست آمده را حذف کرد.