A - ساعت دیواری


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

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

ورودی🔗

ورودی یک رشته به فرمت HH:MM می‌باشد که ساعت دیده شده در آینه را نشان می‌دهد. قسمت اول که نشان‌دهنده ساعت می‌باشد بین 1 تا 12 و قسمت دوم هم که نشان دهنده‌ی دقیقه است بین 0 تا 59 مي‌باشد.

خروجی🔗

خروجی نیز رشته‌ای به فرمت HH:MM است که ساعت واقعی را نشان می‌دهد.

ورودی-خروجی نمونه🔗

ورودی نمونه ۱

03:00
Plain text

خروجی نمونه ۱

09:00
Plain text

ورودی نمونه ۲

05:45
Plain text

خروجی نمونه ۲

06:15
Plain text

B - توپ‌ها


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

تعدادی توپ با شعاع یکسان بر روی یک زمین صاف بدون اصطکاک قرار دارند و هر کدام با سرعت ثابت حرکت می‌کنند. در چه لحظه‌ای برای اولین بار دو توپ با یکدیگر برخورد می‌کنند؟ در t=0t=0، نقطه‌ی مشترک بین سطح زمین و توپ ii-ام در نقطه bib_i قرار دارد (توپ در برخورد با زمین خمیده نمی‌شود مانند شکل زیر) و با سرعت ثابت aia_i در حال حرکت است. در صورتی که ai>0a_i > 0 باشد توپ به سمت راست و اگر ai<0a_i < 0 به سمت چپ حرکت خواهد‌ کرد. همچنین در لحظه اولیه هیچ دو توپی با هم برخورد ندارند. توضیح تصویر

ورودی🔗

در خط اول ورودی 2n50,0002\leq n \leq 50,000 تعداد توپ‌ها و عدد صحیح 1r1091\leq r \leq {10} ^ {9} شعاع توپ‌ها می‌آید و nn خط بعدی هر کدام، شامل دو عدد صحیح 109ai,bi109-{10}^{9}\leq a_i, b_i \leq {10} ^ {9} که به ترتیب از چپ به راست می‌آید و نشان دهنده‌ی سرعت توپ و نقطه‌ی مشترک بین زمین و توپ در t=0t = 0 است، می‌باشند.

خروجی🔗

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

ورودی-خروجی نمونه🔗

ورودی نمونه 1

2 2
-2 1
2 10
Plain text

خروجی نمونه 1

-1
Plain text

ورودی نمونه 2

3 4
1 -10
3 6
-7 30
Plain text

خروجی نمونه 2

1.60
Plain text

C - مین‌یاب


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

فرض کنید زمینی به عرض WW و ارتفاع HH داریم. این زمین دارای HWH * W سلول می‌باشد. بازی مین‌یاب بدین صورت است که تعدادی بمب در این زمین پخش شده است. محتوای سلول‌هایی که بمبی در آنها وجود ندارد، برابر تعداد بمب‌هایی است که در خانه‌های اطراف وجود دارد. با دانستن مختصات بمب‌ها مشخص کنید که در خانه‌ (x,y)(x, y) چه عددی وجود دارد.

ورودی🔗

سطر اول ورودی به ترتیب شامل دو عدد 3H1093\leq H \leq {10} ^ {9} و 3W1093\leq W \leq {10} ^ {9} می باشد. در سطر بعدی عدد 1N1031\leq N \leq {10} ^ {3} می‌آید که بیانگر تعداد بمب‌ها می‌باشد. در NN سطر بعدی مختصات بمب‌ها می‌باشد. هر سطر شامل دو عدد است که عدد اول آن xix_i بیانگر شماره سطر، و عدد دوم آن yiy_i بیانگر شماره ستون، می‌باشد. در سطر بعدی عدد 1Q1041\leq Q \leq {10} ^ {4} می‌آید که نشان‌دهنده تعداد خانه‌هایی است که می‌خواهیم محتوای داخل آنها را بدانیم. در QQ سطر بعدی مختصات خانه‌ها همانند مختصات بمب‌ها می‌آید.

خروجی🔗

خروجی شامل QQ سطر می‌باشد که هر سطر نشان‌دهنده محتوای خانه متناظر با آن است. اگر در آن خانه بمب وجود دارد باید BOMB در خروجی چاپ شود.

ورودی-خروجی نمونه🔗

ورودی نمونه

6 3
4
1 1
2 3
3 1
5 2
4
2 2
1 1
4 3
6 3
Plain text

خروجی نمونه

3
BOMB
1
1
Plain text

D - ال‌ای‌دی‌های سوخته


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

یک تابلوی LED شامل mm سطر و nn ستون است که تعدادی از LEDهای آن سوخته است. برای تعویض LEDهای سوخته می‌توان یک سطر از LEDهای سالم را با سطری که شامل LED سوخته است به طور کامل تعویض کرد و یا از LEDهای سالم تکی استفاده کرد. آیا با داشتن rr سطر از LED‌های سالم و ss عدد از LEDهای سالم تکی می‌توان تمام LEDهای سوخته را تعویض کرد؟

ورودی🔗

سطر اول ورودی به ترتیب از چپ به راست شامل ۴ عدد m,n,r,sm, n, r, s است که 1m,n3,0001 \leq m, n \leq 3,000 و 0rm0 \leq r \leq m و 0snm0 \leq s \leq n * m می‌باشد.در mm سطر بعدی هرکدام nn عدد 0 یا 1 می آید که 1 به معنی LED سالم در آن مکان و عدد 0 به معنی LED سوخته در آن مکان است.

خروجی🔗

اگر می‌توان تمام LEDهای سوخته را جایگزین کرد 1 و در غیر این صورت 1- در خروجی چاپ کنید.

ورودی-خروجی نمونه🔗

ورودی نمونه ۱

2 3 1 1
1 1 0
0 0 1
Plain text

خروجی نمونه ۱

1
Plain text

ورودی نمونه ۲

3 3 1 2
0 1 0
1 0 1
0 0 0
Plain text

خروجی نمونه ۲

-1
Plain text

E - رشته‌ی تمیز


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

رشته‌ای تمیز است که در همه‌ی زیر رشته‌های به طول 26 آن رشته، تمام حروف الفبای انگلیسی دقیقا یکبار ظاهر شده باشند. یک زیر‌ رشته از رشته T=t1...tnT=t_1...t_n، یک رشته‌ی T=ti...ti+mT'=t_{i}...t_{i+m} است که i+mni+m\leq n و 1i1\leq i.

ورودی🔗

ورودی شامل یک رشته 26s50,00026 \leq |s| \leq 50,000 است که از حروف الفبای کوچک و ?'?' تشکیل شده است.

خروجی🔗

در صورتی که می توان به جای تمام ?'?'ها حروف الفبای کوچک را طوری قرار داد که رشته تمیز شود، رشته تمیزشده را چاپ کنید و در صورتی که این کار امکان پذیر نیست، 1-1 چاپ کنید. در صورتی که چندین جواب وجود دارد رشته‌ای را که از نظر ترتیب در دیکشنری اول است را چاپ کنید.

ورودی-خروجی نمونه🔗

ورودی نمونه 1

acmicpcacmicpcacmicpcacmicpc
Plain text

خروجی نمونه 1

-1
Plain text

ورودی نمونه 2

ab?defgh?jklmnop?rstu?wxy?b
Plain text

خروجی نمونه 2

-1
Plain text

ورودی نمونه 3

??????????????????????????
Plain text

خروجی نمونه 3

abcdefghijklmnopqrstuvwxyz
Plain text

F - دنباله قطبی


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

دنباله قطبی SS از اعداد 1 و 1- تشکیل شده است. برای یک عدد صحیح xx در صورتی که داشته باشیم i1in,jijn,k=ijSk=x \exists i | 1 \leq i \leq n, \exists j | i \leq j \leq n, \sum_{k=i}^j S_k = x می‌توان xx را از دنباله استخراج کرد. آیا می‌توان عدد xx را از دنباله استخراج کرد ؟

ورودی🔗

سطر اول ورودی به ترتیب شامل دو عدد 1N1051\leq N \leq {10} ^ {5} طول دنباله و 1Q1031\leq Q \leq {10} ^ {3} تعداد اعدادی که می‌خواهیم بررسی کنیم می‌باشد. در خط بعدی دنباله قطبی به طول NN می‌آید. در QQ خط بعدی هر کدام یک عدد صحیح 105xi105{-10}^{5}\leq x_i \leq {10} ^ {5} می‌آید.

خروجی🔗

در صورتی که می توان xix_i را از دنباله قطبی استخراج کرد در i-امین خط خروجی yes و در غیر این صورت no چاپ کنید.

ورودی-خروجی نمونه🔗

ورودی نمونه ۱

3 3
1 1 -1 
1
2
3
Plain text

خروجی نمونه ۱

yes
yes
no
Plain text

ورودی نمونه ۲

5 2
1 1 -1 1 1
2
3
Plain text

خروجی نمونه ۲

yes
yes
Plain text

G - ربات مسیریاب


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

در یک زمین مستطیلی رباتی وجود دارد. این زمین را میتوان با mm سطر و nn ستون نمایش داد. ربات میتواند در ۴ جهت اصلی بالا، پایین، چپ و راست حرکت کند. ربات در ابتدا در خانه گوشه چپ پایین قرار دارد. در این نقشه خانه‌هایی وجود دارد که ربات باید به یکی از این خانه‌ها برسد. همچنین خانه‌هایی نیز هستند که اگر ربات وارد آنها شود دیگر نمیتواند از آنها خارج شود. وظیفه شما این است که برنامه‌ای بنویسید که با دانستن نقشه زمین در صورتی که مسیری برای رسیدن به یکی از اهداف وجود دارد کوتاهترین مسیر را برای رسیدن به یکی از این اهداف پیدا کند.

ورودی🔗

در ورودی ابتدا 2m,n10002\leq m,n \leq 1000 که ابعاد زمین را نشان می‌دهند، به ترتیب از چپ به راست می‌آیند. سپس در mm سطر بعدی هر کدام یک رشته‌ای به طول nn وجود دارد که نقشه را نمایش می‌دهند. نقطه شروع حرکت ربات با '^' در نقشه مشخص شده است. اهداف با '*' و تله‌ها با '#' مشخص شده اند.

خروجی🔗

اگر مسیری برای رسیدن به هیچ‌کدام از اهداف وجود ندارد در خروجی باید 1- چاپ شود.در صورتی که مسیر وجود دارد در خروجی باید مسیر به صورت دنباله‌ای از کاراکتر‌ها بیاید که به ازای هر حرکت به سمت بالا u، حرکت به سمت چپ l، حرکت به سمت پایین d و حرکت به سمت راست r چاپ شده است. اگر چندین مسیر با طول یکسان وجود داشته باشد باید مسیری چاپ شود که از نظر ترتیب در دیکشنری (lexicographical order) اول باشد.

ورودی-خروجی نمونه🔗

ورودی نمونه ۱

2 2
-*
^-
Plain text

خروجی نمونه ۱

ru
Plain text

ورودی نمونه ۲

5 5
-*-#*
*---#
###-#
----#
^--#*
Plain text

خروجی نمونه ۲

rruruulll
Plain text