ماریو و آنلاین شاپ


  • محدودیت زمان: ۰.۲۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

ماریو که با دست خالی حریف کینگ کوپا نمی‌شود، تصمیم به خرید شمشیر ویژه می‌گیرد. ماریو CMC_M سکه و GMG_M الماس دارد. از طرفی شمشیر ویژه به CSC_S سکه و GSG_S الماس نیاز دارد.

همچنین به شما عدد صحیح raterate نشان‌دهنده تعداد سکه در ازای یک الماس داده می‌شود و ماریو می‌تواند با دادن raterate سکه یک الماس بگیرد ویا یک الماس بدهد و raterate سکه دریافت کند.

ماریو تبدیل را به تعداد دلخواه می‌تواند تکرار کند. آیا می‌تواند شمشیر ویژه را بخرد؟

توضیح تصویر

توجه کنید اگر شمشیر ویژه را بخرد می‌تواند کینگ‌کوپا را شکست دهد و شهر قارچ‌ها و شاهزاده خانم در امان می‌مانند. :)

ورودی🔗

در سطر اول ورودی به ترتیب از چپ به راست دو عدد می‌آید که اولی CMC_M و دومی GMG_M خواهد بود. در سطر بعدی هم دو عدد CSC_S و GSG_S خواهند آمد. و در سطر سوم هم raterate که یک عدد صحیح است خواهد آمد.

0CM,GM,CS,GS10 0 \le C_M, G_M, C_S, G_S \le 10 1rate10 1 \le rate \le 10

خروجی🔗

در تنها سطر خروجی اگر ماریو می‌توانست شمشیر ویژه را بخرد Yes و در غیر اینصورت No را خروجی دهید.

به بزرگی و کوچکی حروف توجه کنید.

مثال🔗

ورودی نمونه ۱🔗

5 2
9 0
3
Plain text

خروجی نمونه ۱🔗

Yes
Plain text

اگر ماریو ۲ الماس خود را بدهید ۶ سکه بدست می‌آورد و با ۱۱ سکه‌ای که در مجموع دارد، قادر به خرید شمشیر می‌شود چراکه آن به ۹ سکه نیاز دارد.

ورودی نمونه ۲🔗

10 2
1 4
5
Plain text

خروجی نمونه ۲🔗

No
Plain text

هر جور که سکه‌ها و الماس‌ها را بهم تبدیل کند نمی‌تواند شمشیر ویژه را بخرد.

ماشین‌ها: معمای برنده


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

لایتین مکوئین در کاپ پیستون شرکت کرده‌است؛ ولی از آن‌جا رقابت بسیار تنگاتنگ بود یادش نمیاد چه کسی اول شده! مسابقه در تعداد دور مشخص برگزار شده و طول یک دور را می‌دانیم. همچنین سرعت هر ماشین و میزان توقف ماشین‌ها را مکوئین به ما می‌دهد.

به او بگویید چه کسی اول شده قبل از آنکه نتایج رسماً اعلام شود.

توضیح تصویر

توجه کنید که مکوئین خود سرعت است :)

ورودی🔗

در سطر اول ورودی، به ترتیب دو عدد صحیح تعداد دور مسابقه looploop و مسافت هر دور به متر lengthlength از چپ به راست می‌آیند. 1loop,length200 1 \le loop, length \le 200

سپس در سطر بعد یک عدد nn نشانگر تعداد ماشین‌ها می‌آید. 1n100 1 \le n \le 100

در سطر iiام از nn سطر بعد دو عدد می‌آید که اطلاعات ماشین ii را نشان می‌دهد. عدد اول tit_i یا میزان زمان تعویض لاستیک و سوخت‌گیری در طول کل مسابقه برحسب ثانیه است و عدد دوم viv_i سرعت ماشین برحسب متر بر ثانیه است. 0ti100 0 \le t_i \le 100 1vi100 1 \le v_i \le 100

خروجی🔗

در تنها سطر خروجی شماره ماشین برنده را خروجی دهید.

تضمین می‌شود هیچ دو ماشینی همزمان برنده مسابقه نشوند.

مثال🔗

ورودی نمونه ۱🔗

20 10
3
100 100
50 4
1 2
Plain text

خروجی نمونه ۱🔗

2
Plain text
توضیح نمونه ۱

ماشین اول با سرعت ۱۰۰ متر بر ثانیه در حرکت است و در کل مسیر، ۱۰۰ ثانیه برای تعویض لاستیک توقف می‌کند. پس کل زمانی که نیاز دارد تا به خط پایان برسد برابر است با: 100+20×10100=102100 + \frac{20 \times 10}{100} = 102

ماشین دوم با سرعت ۴ متر بر ثانیه در حرکت است و در کل مسیر، ۵۰ ثانیه برای تعویض لاستیک توقف می‌کند. پس کل زمانی که نیاز دارد تا به خط پایان برسد برابر است با: 50+20×104=10050 + \frac{20 \times 10}{4} = 100

ماشین سوم با سرعت ۲ متر بر ثانیه در حرکت است و در کل مسیر، ۱ ثانیه برای تعویض لاستیک توقف می‌کند. پس کل زمانی که نیاز دارد تا به خط پایان برسد برابر است با: 1+20×102=1011 + \frac{20 \times 10}{2} = 101

پس ماشین دوم از سایر ماشین‌ها زودتر به خط پایان می‌رسد.

ورودی نمونه ۲🔗

200 200
3
100 100
50 90
0 80
Plain text

خروجی نمونه ۲🔗

2
Plain text
توضیح نمونه ۲

ماشین اول با سرعت ۱۰۰ متر بر ثانیه در حرکت است و در کل مسیر، ۱۰۰ ثانیه برای تعویض لاستیک توقف می‌کند. پس کل زمانی که نیاز دارد تا به خط پایان برسد برابر است با: 100+200×200100=500100 + \frac{200 \times 200}{100} = 500

ماشین دوم با سرعت ۹۰ متر بر ثانیه در حرکت است و در کل مسیر، ۵۰ ثانیه برای تعویض لاستیک توقف می‌کند. پس کل زمانی که نیاز دارد تا به خط پایان برسد برابر است با: 50+200×20090=494.44450 + \frac{200 \times 200}{90} = 494.444

ماشین سوم با سرعت ۸۰ متر بر ثانیه در حرکت است و در کل مسیر، ۰ ثانیه برای تعویض لاستیک توقف می‌کند. پس کل زمانی که نیاز دارد تا به خط پایان برسد برابر است با: 0+200×20080=5000 + \frac{200 \times 200}{80} = 500

پس ماشین دوم از سایر ماشین‌ها زودتر به خط پایان می‌رسد.

تولد طهماسب


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

طهماسب امروز ۴ ساله شد و بعد از آن‌که شمع‌ها رو فوت کرد تا ۱۲۰ ساله بشه تصمیم به برش کیک تولد خود گرفت. طهماسب nn برش روی کیک در زاویه‌های مختلف زد تا کیک را بین nn نفر حاضر در جشن تقسیم کند. بعد از زدن برش‌ها او بزرگترین تکه را برای خود برداشت.

توضیح تصویر

به مامان طهماسب که نگران سلامتی اوست بگویید که طهماسب چند درصد از کیک را خورده است.

ورودی🔗

در سطر اول عدد صحیح nn می‌آید. 2n100000 2 \le n \le 100 \, 000 در سطر دوم nn عدد با فاصله می‌آیند که iiامین آن‌ها degreeidegree_i درجه برش iiام با دقیقاً ۴ رقم دقت اعشار است. 0degreei<360 0 \le degree_i < 360 تضمین می‌شود هیچ دو برشی در یک مکان زده نشود.

خروجی🔗

در تنها خط خروجی درصد کیکی که طهماسب خورده را خروجی دهید. اگر اختلاف جواب شما با جواب سوال حداکثر 0.0010.001 باشد. پاسخ درست در نظر گرفته می‌شود.

مثال🔗

ورودی نمونه ۱🔗

3
0.0000 260.5000 99.5000
Plain text

خروجی نمونه ۱🔗

44.72222222
Plain text

توضیح تصویر

ورودی نمونه ۲🔗

6
11.0000 89.0000 355.0000 271.0000 215.0000 156.0000
Plain text

خروجی نمونه ۲🔗

23.334
Plain text

توضیح تصویر

خودمتشابه


  • محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

یک جمله معروف هست که میگه اجسام در دیدگاه میکروسکوپی و ماکروسکوپی یک شکل‌ند. یا به عبارتی اگر یک جسم رو با ذره‌بین خیلی قوی ببینیم یا کلی ازش فاصله بگیریم, یک‌چیز دیده خواهد شد.

 \space

رها بعد از دیدن این جمله به فکر فرو می‌رود. او به یک کوتریس که نزدیکش بود خیره می‌شود و در می‌یابد که در هر خانه کوتریس که سفید باشد خود کوتریس اولیه و اگر سیاه باشد عکس کوتریس اولیه تکرار شده.

از آنجا که جدول بی‌انتهاست, او از شما سوالاتی درباره با رنگ خانه‌های جدول با دقت‌های مختلف می‌پرسد. توجه کنید در دقت اول خود جدول دیده می‌شود. در دقت دوم هر خانه از کوتریس دقت اول خود به صورت کوتریسی که گفته شد دیده می‌شود و \dots

کوتریس یا مخفف کوئرا ماتریس در این سوال جدولی است که هر خانه آن سفید یا سیاه است.

منظور از عکس کوتریس QQ یک کوتریس با ابعاد مشابه QQ است که رنگ خانه‌های متناظرش بر خلاف QQ است.

توضیح تصویر

توجه کنید در کوتریس اولیه تعداد خانه‌های سفید بیشتر از خانه‌های سیاه است و به همین دلیل اگر با دقت کم به جدول نگاه کنیم رنگ غالب را خواهیم دید!

ورودی🔗

در سطر اول ورودی دو عدد صحیح nn تعداد سطرها و mm تعداد ستون‌ها به ترتیب از چپ به راست می‌آید. 1n,m1000 1 \le n, m \le 1000 در nn سطر بعد در هر سطر رشته‌ای mm حرفی از اعداد ۰ و ۱ بدون فاصله می‌آید که ۰ نشانگر سفید و ۱ نشانگر سیاه است.

در سطر بعدی عدد صحیح qq نشانگر تعداد پرسش‌های رها می‌آید. 1q100000 1 \le q \le 100 \, 000 در qq سطر بعد در هر سطر ۳ عدد صحیح kik_i و xix_i و yiy_i می‌آید که در واقع رها از شما می‌پرسد در کوتریس دقت kik_i رنگ خانه واقع در سطر xix_i از بالا و ستون yiy_i از چپ چه چیزی است. 1ki6 1 \le k_i \le 6 1xinki 1 \le x_i \le n^{k_i} 1yimki 1 \le y_i \le m^{k_i} اکیداً توصیه می‌شود مراقب محدودیت‌ها باشید!

خروجی🔗

یک سطر با qq حرف در خروجی بنویسید که حرف iiـم پاسخ پرسش ii باشد. به ازای پاسخ سفید ۰ و به ازای پاسخ سیاه ۱ خروجی داده شود.

مثال🔗

ورودی نمونه ۱🔗

1 3
001
6
1 1 1
1 1 2
1 1 3
2 1 2
2 1 6
2 1 9
Plain text

خروجی نمونه ۱🔗

001010
Plain text

شکل این کوتریس در سوال آمده است.

ورودی نمونه ۲🔗

2 2
10
00
6
1 1 1
1 1 2
2 3 1
2 3 2
2 3 3
2 4 3
Plain text

خروجی نمونه ۲🔗

101010
Plain text

توضیح تصویر

مایکل جردن


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

پیتر در لندن می‌خواهد پیامی برای مایکل در جردن ارسال کند. از آن‌جا که مایکل در تهران است، پیتر باید پیام خود را در بستر پیام‌رسانی وطنی ارسال کند. پیام‌رسان وطنی به حرف x حساس است و هر جا که پیتر این حرف را بزند اول پیام‌رسان پیام فعلی پیتر را برعکس می‌کند و سپس این حرف را به انتها آن اضافه می‌کند. برای مثال اگر او abcx بنویسد و ارسال کند مایکل cbax دریافت خواهد کرد.

توضیح تصویر

مایکل که درگیر بسکتبال است، پیام پیتر را به شما نشان می‌دهد و از شما می‌خواهد آنچه واقعاً منظور پیتر بوده را به او بگویید.

ورودی🔗

در تنها سطر ورودی یک رشته ناتهی متشکل از حروف کوچک انگلیسی می‌آید که طول آن حداکثر صدهزار است.

خروجی🔗

در تنها سطر خروجی رشته ای که هدف پیتر بوده را خروجی دهید. توجه کنید که تحت شرایط گفته شده جواب مساله یکتاست.

مثال🔗

ورودی نمونه ۱🔗

cbax
Plain text

خروجی نمونه ۱🔗

abcx
Plain text

aababccbax a \to ab \to abc \to cbax

ورودی نمونه ۲🔗

xabcxefx
Plain text

خروجی نمونه ۲🔗

cbaxefxx
Plain text

ccbcbaabcxabcxeabcxeffexcbaxxabcxefx c \to cb \to cba \to abcx \to abcxe \to abcxef \to fexcbax \to xabcxefx

شهر اعداد: انتخاب پادشاه


  • محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

شهر اعداد که پیشتر شورای شهر خود را تشکیل داده بود، به ناکارآمدی شورا حتی اگر همه‌شان کارا باشند پی‌برد. مردم شهر اینک نیاز به پادشاه را درک کرده‌اند و تصمیم به انتخاب پادشاه می‌گیرند.

اما مشکل اینجاست که مردم نظر یکسانی درباره فرد شایسته ندارند. به طور دقیق‌تر هر فردی در شهر اعداد یک عدد دارد و از نظر فردی با عدد xx فردی با عدد yy بهتر از فردی با عدد zz است اگر و تنها اگر yx>zxy \oplus x > z \oplus x باشد. که در اینجا منظور از علامت \oplus عملیات xor است.

حال اعداد شهروندان شهر به شما داده می‌شود و بگویید در همه حالات انتخاب دو نفر و یک داور، هر شهروند چند بار پیروز می‌شود. توجه کنید داور می‌تواند شرکت کننده هم باشد.

برای درک بهتر می‌توانید به توضیحات نمونه مراجعه کنید.

ورودی🔗

در سطر اول nn تعداد شهروندان می‌آید. در سطر بعد nn عدد می‌آید که iiامین آن‌ها aia_i عدد شهروند ii است. 1n1000000 1 \le n \le 1000 \, 000 0ai1090 \le a_i \le 10^9

خروجی🔗

در تنها سطر خروجی تعداد برتری های افراد با فاصله مطلوب است.

مثال🔗

ورودی نمونه ۱🔗

3
0 2 3
Plain text

خروجی نمونه ۱🔗

4 2 3
Plain text
توضیح نمونه ۱

[(0,2),0]:00<20,winner: 2 [(0,2), 0]: 0 \oplus 0 < 2 \oplus 0, winner:\space 2 [(0,3),0]:00<30,winner: 3 [(0,3), 0]: 0 \oplus 0 < 3 \oplus 0, winner:\space 3 [(2,3),0]:20<30,winner: 3 [(2,3), 0]: 2 \oplus 0 < 3 \oplus 0, winner:\space 3 [(0,2),2]:02>22,winner: 0 [(0,2), 2]: 0 \oplus 2 > 2 \oplus 2, winner:\space 0 [(0,3),2]:02>32,winner: 0 [(0,3), 2]: 0 \oplus 2 > 3 \oplus 2, winner:\space 0 [(2,3),2]:22<32,winner: 3 [(2,3), 2]: 2 \oplus 2 < 3 \oplus 2, winner:\space 3 [(0,2),3]:03>23,winner: 0 [(0,2), 3]: 0 \oplus 3 > 2 \oplus 3, winner:\space 0 [(0,3),3]:03<33,winner: 0 [(0,3), 3]: 0 \oplus 3 < 3 \oplus 3, winner:\space 0 [(2,3),3]:23>33,winner: 2 [(2,3), 3]: 2 \oplus 3 > 3 \oplus 3, winner:\space 2

ورودی نمونه ۲🔗

5
0 0 1 4 5
Plain text

خروجی نمونه ۲🔗

6 6 10 11 12
Plain text

پارسا و پخش شکلات


  • محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

پارسا نذر کرده‌بود اگر نمره یک درس کذایی رو ۲۰ بگیره tt روز به بچه‌ها شکلات میده. حال نمرات درس اومده و او باید به نذرش عمل کنه. او هر روز یک گونی شکلات با خودش به بیرون می‌بره و بچه‌ها صف می‌کشن تا پارسا بهشون شکلات بده. در هر گونی تعدادی بسته شکلات وجود داره که از بالا به پایین چیده شده و درون هر بسته تعدادی شکلات قرار داره. پارسا در هر نوبت تعدادی بسته از بالا گونی برمی‌داره و به اولین نفر صف میده. اگر بچه‌ها هم‌اندازه شکلات نگیرن از دست پارسا دلخور می‌شن. پارسا که نمی‌خواهد هیچ کس دلخور باشه از شما می‌پرسه بچه‌ها اگر چند نفر باشن ممکنه دلخوری به وجود نیاد؟

توجه کنید که همه بسته‌های شکلات بین افراد پخش خواهند شد.

ورودی🔗

در سطر اول ورودی tt تعداد روز‌ها می‌آید و سپس اطلاعات tt روز به شرح زیر می‌آید.

در سطر اول روز ii عدد nin_i نشانگر تعداد بسته‌های درون گونی روز ii می‌آید و سپس در خط بعد nin_i عدد صحیح با فاصله از هم می‌آیند که عدد jjام آنها یا aija_{ij} تعداد شکلات‌های بسته jjام از بالا است.

1t10000 1 \le t \le 10 \, 000 1ni,i=1tni1000000 1 \le n_i, \sum_{i=1}^t n_i \le 1 \, 000 \, 000 1aij1012 1 \le a_{ij} \le 10^{12}

خروجی🔗

برای هر روز به ترتیب پاسخ را در دو سطر خروجی دهید.

در سطر اول هر روز تنوع تعداد افراد ممکن و در سطر دوم همه حالات تعداد افراد ممکن به صورت صعودی.

مثال🔗

ورودی نمونه ۱🔗

3
2
1 2
3
1 2 3
4
4 1 3 4
Plain text

خروجی نمونه ۱🔗

1
1
2
1 2
2
1 3
Plain text

در روز دوم ۳ بسته شکلات با تعداد شکلات‌های ۱ و ۲ و ۳ داریم. یک حالت این است که یک نفر در صف باشد و هر ۳ بسته را به او بدهیم و حالت دیگر این است که دو نفر در صف باشند و ۲ بسته اول را به نفر ۱ و بسته آخر را به نفر ۲ بدهیم و بدین شکل هر دو نفر ۳ شکلات گیرشان می‌آید.