امین و مهدی عاشق هندوانه و خربزه هستند. آنها هندوانه و خربزه از میوه فروشی خریدهاند.
میدانیم هندوانهها و خربزهها هم وزن و یکسان هستند. امین و مهدی بر این عقیدهاند که خوردن هر هندوانه ۲ دقیقه بر عمر اضافه میکند. همچنین خوردن هر خریزه ۱ دقیقه بر عمر اضافه میکند.
آنها میخواهند این میوه را طوری بین خودشان تقسیم کنند که مجموع عمر اضافه شدهی آنها برابر باشد. آنها هیچوقت یک هندوانه یا خریزه را نصف نمیکنند و این کار را بی احترامی به آن میوه میدانند!
از شما میخواهیم بررسی کنید که بررسی کند آیا این کار شدنی است یا نه؟
در سطر اول ورودی، عدد صحیح و نامنفی داده میشود. در سطر دوم ورودی، عدد صحیح و نامنفی داده میشود.
در تنها سطر خروجی، در صورتی که این تقسیم شدنی است رشتهی YES
و در غیر این صورت رشتهی NO
را چاپ کنید.
اگر امین و مهدی هر کدام ۱ هندوانه و ۲ خربزه بردارند به عمر هر دو نفر ۴ دقیقه اضافه میشود، پس پاسخ YES
است.
هر طوری که این خربزه و هنداونهها را بین امین و مهدی پخش کنید، مجموع دقایقی که به عمر آنها اضافه میشود برابر نیست. بنابراین پاسخ NO
است.
در این حالت عمر هر دو نفر ۰ دقیقه اضافه میشود و پاسخ YES
میشود.
یک ربات ماشینی روی مبدا مختصات صفحهی مختصات دو بعدی قرار دارد. جهت این ماشین رو به محور ها است. برای اینکه این ربات روی صفحه حرکت کند باید به آن فرمان بدهیم. هر فرمان دو حالت زیر را دارد:
Forward
، یعنی یک واحد به جلو برو.Rotate
، یعنی ۹۰ درجه در خلاف جهت عقربههای ساعت در همان نقطه بچرخ.قبل از حرکت ربات میتوان به آن یک رشته از فرمان داد و سپس این ربات به ترتیب این فرمانها را از چپ به راست هر کدام را یکبار اجرا میکند.
امین که میخواهد مسیر حرکت ربات را مشخص کند. او یک مسیر را با دنبالهای از حرکتهای L
، R
، U
و D
مشخص میکند که به ترتیب یعنی یک واحد به چپ (یا رفتن یک واحد به سمت کمتر)، راست (یک واحد بیشتر)، بالا (یک واحد بیشتر) و پایین (یک واحد کمتر) حرکت کن.
حال مسئله این است که اگر رشتهی از کاراکتر که مسیر حرکت را به فرمتی که امین ارائه میدهد به شما بدهند میتوانید آن را به فرمتی که ربات حرکت میکند تبدیل کنید به طوری که دقیقاً همان مسیر مورد نظر امین طی شود و کمترین تعداد عملیات انجام شود؟
در سطر اول ورودی، عدد صحیح و مثبت آمده که تعداد کاراکترهای رشتهی نشان دهندهی مسیر مورد نظر امین را نشان میدهد.
در سطر دوم ورودی، یک رشته از کاراکتر L
، R
، U
و D
داده میشود که به ترتیب مسیر حرکت مورد نظر امین را نشان میدهد.
در سطر تنها سطر خروجی، یک رشته از حروف F
و R
چاپ کنید که نشان دهندهی دنبالهی فرمانهایی است که به ربات داده میشود (منظور از F
فرمان Forward
و منظور از R
فرمان Rotate
است).
امین و مهدی دارند یک بازی معروف را بازی میکنند. این بازی به این شکل است: یک شبکه از نقاط روی یک برگ کاغذ کشیده میشود. سپس بازیکنان به نوبت دو نقطه مجاور را به هم متصل میکنند (از نظر افقی یا عمودی). در هر «حرکت» یک بازیکن میتواند یک خط بکشد که دو نقطه را به هم وصل کند.
هر زمان که یک بازیکن موفق به بستن یک مربع از نقاط میشود (یعنی، به واقعیت ۴ نقطه را با دقیقاً ۴ خط وصل میکند)، آن بازیکن مربع را «برنده» میشود و اولین حرف از نامش (A
یا B
) را در فضای خالی درون مربع مینویسد. در شرایط عادی، هر بازیکن تلاش میکند تا از این مربعها به حد امکان استفاده کند (این بازی باعث خراب شدن دوستیهای زیادی شده است).
امین و مهدی دارند این بازی را بازی میکنند اما هر دو خجالتیاند و نمیخواهند که امتیازی را در برابر هم بگیرند. علاوه بر این، آنها نمیخواهند دوستیشان را به خاطر یک بازی خراب کنند.
امین و مهدی سعی نمیکنند برنده شوند، آنها فقط میخواهند ادامه دادن بازی را و دوستیشان تا زمان امکانپذیر برای ادامه بازی لذت ببرند. با توجه به تنظیمات بازی که تا الان به آن رسیدهاند، به آنها کمک کنید تا تعداد حرکاتی که میتوانند انجام دهند بدون ایجاد هیچ مربع از نقاط را محاسبه کنند.
در سطر اول ورودی، عدد صحیح ، اندازه شبکه، آمده است.
سپس یک نسخه از کاراکترهای نقشه بازی آمده است. نقشه به این شکل است که شما یک ماتریس از کاراکترها را به ترتیب ردیف-به-ردیف دریافت میکنید. هر سلول میتواند از چهار نوع ممکن باشد ():
*
دارد که نقطه را نشان میدهد..
دارد که فضای خالی را نشان میدهد.|
دارد اگر نقاط و با یک خط متصل شدهاند و علامت . در غیر این صورت است.-
دارد اگر نقاط و با یک خط متصل شدهاند و علامت . در غیر این صورت است.تضمین میشود که هیچ بازیکنی امتیاز نگرفته است: هیچ مربعهای واحدی هنوز تشکیل نشدهاند.
تعداد حرکاتی را که میتوان انجام داد، در بدترین حالت، قبل از این که امین یا مهدی مطمئن شوند که امتیازی را گرفتهاند، خروجی دهید.
رشتهی به صورت بازگشتی تعریف میشود. برابر رشتهی sefr
است. رشتهی از بهم چسبیدن و تلفظ فینگلیش سهرقم سمت راست طول رشتهی بدست میآید.
بنابراین چون یک رشتهی چهار کاراکتری است، برابر sefrchahaar
است و چون یک رشتهی یازده کاراکتری است، برابر sefrchahaaryaazdah
است و... .
تلفظ فینگلیش را از جدولهای پایین سوال زیر درنظر بگیریم، توجه کنید که گاهی در تلفظ برخی از اعداد از o
استفاده میکنیم؛ مثلاً وقتی میگوییم صد و بیست، فینگلیشش میشود sadobist
.
اعداد تک رقمی | تلفظ |
---|---|
0 |
sefr |
1 |
yek |
2 |
do |
3 |
se |
4 |
chahaar |
5 |
panj |
6 |
shesh |
7 |
haft |
8 |
hasht |
9 |
noh |
اعداد دو رقمی | تلفظ |
---|---|
10 |
dah |
11 |
yaazdah |
12 |
davaazdah |
13 |
sizdah |
14 |
chahaardah |
15 |
paanzdah |
16 |
shaanzdah |
17 |
hifdah |
18 |
hijdah |
19 |
noozdah |
دهگان | تلفظ |
---|---|
10 |
dah |
20 |
bist |
30 |
si |
40 |
chehel |
50 |
panjaah |
60 |
shast |
70 |
haftaad |
80 |
hashtaad |
90 |
navad |
صدگان | تلفظ |
---|---|
100 |
sad |
200 |
devist |
300 |
sisad |
400 |
chahaarsad |
500 |
paansad |
600 |
sheshsad |
700 |
haftsad |
800 |
hashtsad |
900 |
nohsad |
در سطر اول ورودی، عدد صحیح و نامنفی داده میشود.
در تنها سطر خروجی، رشتهی را چاپ کنید.
امین یک مسابقه تصادفی برگزار میکند. در این مسابقه او یک بازهی به شرکتکنندهی مسابقه میدهد. سپس از او میخواهد که یک عدد صحیح به تصادف و با احتمال برابر از این بازه انتخاب کند. اگر شرکتکننده عدد را انتخاب کند، به او به اندازهی تعداد مقسومعلیههای شکلات میدهد.
حال از شما میخواهیم با دریافت دو عدد و میانگین تعداد شکلاتهایی که امین باید هدیه بدهد را حساب کنید.
با توجه به اینکه این عدد یک کسر میشود، از شما میخواهیم پاسخ را به صورت کسر به سادهترین شکل ممکن چاپ کنید.
در سطر اول ورودی، عدد صحیح و مثبت و در سطر دوم ورودی، عدد صحیح و مثبت داده میشود.
در تنها سطر خروجی، پاسخ مسئله را چاپ کنید.
یک دنباله از اعداد صحیح مثل داریم. درخواست داده میشود. دو نوع درخواست داریم. در هر درخواست دو عدد صحیح و که است داده میشود از شما میخواهیم همهی اعداد را به تغییر داده و در جایگاه آن بنویسید، و سپس مجموع اعداد همین زیربازه تا را بعد از تغییر چاپ کنید. یعنی در هر درخواست یک بازه پشت سر هم از دنباله تغییر میکند و هر عدد دنباله تبدیل به خود میشود.
مقدار از رابطهی زیر بدست میآید:
در سطر اول ورودی، عدد صحیح و مثبت آمده که تعداد اعضای دنبالهی را نشان میدهد.
در سطر دوم ورودی، عدد صحیح که با یک فاصله از هم جدا شدهاند آمده است. عدد ام ظاهر شده مقدار را نشان میدهد.
در سطر سوم ورودی، عدد صحیح آمده که تعداد درخواستها را نشان میدهد.
در سطر بعدی، در هر سطر یک درخواست میآید. هر درخواست به صورت دو عدد و نشان داده میشود که و به ترتیب شروع و پایان بازهی درخواست را نشان میدهند.
به تعداد درخواستها، مقدار مجموع زیربازه را بعد از تغییر گفته شده چاپ کنید.
معلم ریاضی خیلی از امین خوشش نمیآید و همیشه او را مجبور میکند که سختترین مسائل را پای تخته حل کند.
امروز هم او یک دنباله شامل عدد صحیح غیرمنفی را روی تخته نوشت و امین را پای تخته صدا زد. در یک حرکت، معلم به امین اجازه میدهد که یکی از عدد روی تخته را پاک کرده و به جای آن عددی به میزان یک واحد بیشتر بنویسد. معلم از امین میخواهد که با کمترین تعداد حرکت، به گونهای عمل کند که در این دنباله، عددهای متوالی از 1 تا در جایی ظاهر شوند.
به امین کمک کنید تا بفهمد با کمترین تعداد حرکت میتواند به این هدف برسد به طوری که برای حداقل یک داشته باشیم ، یا مشخص کنید که این کار غیرممکن است و معلم دوباره بیرحمانه امین را اذیت میکند.
اولین خط فایل ورودی شامل دو عدد طبیعی و است.
دومین خط شامل عدد است --- مقادیر اولیه عناصر دنباله نوشته شده.
در تنها خط فایل خروجی، کمترین تعداد حرکتهایی که امین نیاز دارد تا مسئله را حل کند را بنویسید، یا -1
اگر این کار غیرممکن است.
امین میخواهد برای یک پروژهی برنامهنویسی ساعت وقت بگذارد. او میخواهد این ساعت را در روزهای خود پخش کند، و بینهایت روز در برنامهاش وجود دارد!
امین میداند اگر یک روز کمتر از ساعت کار کند، احساس بیهودگی میکند، همچنین میداند اگر بیشتر از ساعت در یک روز مشغول کد زدن باشد برای سلامتیاش ضرر دارد. پس تصمیم دارد عددی صحیح بین (شامل و است) ساعت کار کند.
او میخواهد این پروژه را در صورت امکان، با کمترین تعداد روز ممکن تمام کند. از شما میخواهیم برنامهای بنویسید که این کمینه روز را مشخص کند.
در تنها سطر اول ورودی، عدد صحیح و مثبت آمده است.
در سطر دوم ورودی، دو عدد صحیح و مثبت و داده میشود.
در تنها سطر خروجی، کمینه تعداد روز لازم برای تمام شدن پروژه را مشخص کنید. اگر انجام این کار شدنی نیست -1
چاپ کنید.
اگر امین روز اول ۴ و روز دوم و سوم ۳ ساعت کار کند، کل ۴ + ۳ + ۳ = ۱۰ ساعت کار انجام میشود. انجام این ۱۰ ساعت در کمتر از ۳ روز با این شرایط ممکن نیست. بنابراین پاسخ مسئله برابر ۱۰ است.
اگر امین روز اول و دوم ۲ ساعت کار کند، کل ۲ + ۲ = ۴ ساعت کار انجام میشود. انجام این ۴ ساعت کار در کمتر از ۲ روز با این شرایط ممکن نیست. بنابراین پاسخ مسئله برابر ۲ است.
امین هر روز دقیقاً ۳ ساعت کار میکند پس او میتواند پروژههای ۳، ۶، ۹، ... انجام دهد و انجام پروژهی ۷ ساعته ممکن نیست. بنابراین پاسخ مسئله -1
است.
مهدی به مناسبت تولدش یک کیک دریافت کرده است. کیک با دو نوع تزیینات تزئین شده است: گلهای خامهای و گیلاسها. مهدی میخواهد یک تکه از کیک برای خودش ببرد به طوری که حداقل شامل یک گل خامهای باشد اما هیچ گیلاسی در آن نباشد.
اگر از بالا به کیک نگاه کنیم، کیک به صورت یک مربع قابل نمایش است. با معرفی یک سیستم مختصات دکارتی با مبدا در مرکز کیک و محورهایی که موازی با اضلاع کیک هستند، مختصات یک گوشه کیک و گوشه مخالف آن خواهد بود. تمام گلهای خامهای و گیلاسها به طور دقیق در داخل این مربع قرار دارند.
برای بریدن یک تکه از کیک، مهدی میخواهد یک برش مستقیم انجام دهد. علاوه بر این، برای آسانتر کردن برش، او میخواهد اندازه زاویه بین خط برش و محور Ox تا حد ممکن کوچک باشد، و اگر یک گیلاس یا گل خانهای دقیقا روی برش بودند، شما بعنوان برشدهنده میتوانید انتخاب کنید که کدام سمت برش بیفتند.
وظیفه شما این است که تعیین کنید آیا مهدی میتواند کیک را به شکلی که توضیح داده شده برش دهد و کوچکترین زاویه ممکن بین خط برش و محور Ox را پیدا کند.
خط اول شامل یک عدد صحیح — تعداد گلهای خامهای. هر یک از خط بعدی شامل دو عدد صحیح — مختصات یک گل خامهای.
سپس، یک خط شامل یک عدد صحیح — تعداد گیلاسها. هر یک از خط بعدی شامل دو عدد صحیح — مختصات یک گیلاس.
هیچ دو نقطهای که گلهای خامهای و گیلاسها در آن قرار دارند با هم تداخل ندارند. مختصات گلهای خامهای و گیلاسها اعدادی صحیح و با قدر مطلق کمتر از هستند.
اگر برش تکه کیک به روش مشخص شده امکانپذیر نباشد، Impossible
را در فایل خروجی چاپ کنید.
در غیر این صورت، کوچکترین زاویه بین خط برش و محور Ox را به صورت رادیان با دقتی نه کمتر از چاپ کنید.
میخواهیم از بین نفر از دوستان امین، تعدادی را برای مهمانی تولد دعوت کنیم. امین دوستانش را با اعداد ۱ تا شمارهگذاری میکند. دوست ام امین به اندازهی با امین صمیمی است.
امین میخواهد یک زیرمجموعه عضوی از دوستانش مثل را انتخاب کند به طوری که مقدار صمیمت جمع حداکثر شود. صمیمت این جمع که با نمایش داده میشود، از رابطهی زیر بدست میآید.
به شما میزان صمیمیت امین با دوستانش داده میشود. از شما میخواهیم برنامهای بنویسید که حداکثر میزان صمیمت ممکن برای مهمانی را محاسبه کند.
در سطر اول ورودی، عدد صحیح و مثبت داده میشود.
در سطر دوم ورودی، عدد صحیح به ترتیب و با فاصله از هم داده میشود.
در تنها سطر خروجی، یک عدد اعشاری چاپ کنید که حداکثر میزان صمیمت مهمانی را نشان میدهد.
پاسخ شما زمانی پذیرفته میشود که خطای آن حداکثر باشد.