A. Duck Hunting 2D GAME

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Duck Hunting 2D GAME o'yinida ovchi o'rdak ovlashi kerak bo'ladi. O'yin 2D ya'ni ikki o'lchamli koordinatada bo'lib o'tadi.

Ovchi \((0,0)\) koordinatada joylashgan, u faqat vertikal ravishda miltiqdan o'q uzadi. Vertikal uzilgan o'q osmondagi o'rdakni yaralasa ovchining qo'liga kelib tushadi. Dastlab osmonda jami bo'lib \(N\) ta o'rdak bor va har bir uzilgan o'qdan so'ng ovchi miltiqni qayta o'qlashi uchun \(R\) soniya vaqt sarflaydi. Barcha o'rdaklar \(Ox\) o'qiga nisbatan teskari ya'ni manfiy yo'nalishda harakat qilmoqda, sizga har bir o'rdakning \(Ox\) o'qiga nisbatan qaysi oraliqda uchayotgani beriladi. Har bir o'rdak 1 soniyada \(Ox\) o'qiga nisbatan chap tomonga bir birlik siljiydi.

sample-img

O'rdak uchayotgan balandlik muhim emas chunki miltiqdan otilgan o'q cheksiz balandlikka ko'tariladi va yo'lidagi barcha o'rdaklarni yaralaydi(dastlab miltiq o'qlangan).

Kiruvchi ma'lumotlar:

Kirish faylining dastlabki satrida \(N,R(1\leq N\leq 200, 1\leq R\leq 10^9)\) mos ravishda o'rdaklar soni va miltiqni qayta o'qlashi uchun ketadigan vaqt. Kiyingi \(N\) ta satrda \(x1_i,x2_i(-10^9\leq x1\leq x2\leq10^9)\) juftliklar \(i-\)o'rdak qaysi oraliqda ekanligi.

Chiquvchi ma'lumotlar:

Chiqish faylida optimal o'ynaydigan o'yinchi ko'pi bilan qancha o'rdakni ovlay olishini chop eting.

Izoh:

1-test:

Ushbu test rasimda tasvirlangan optimal o'ynaydigan o'yinchi \(1-\)chi va \(3-\)chi o'rdaklarni bir o'q bilan urib tushiradi(ikkalasixam \(0\) nuqtadan uchishni boshlagan) va miltiqni qayta o'qlash uchun \(3\) soniya vaqt sarflab \(2-\)chi o'rdakni yaralaydi(\(2-\)chi o'rdak \(3\) nuqtadan uchishni boshlagan).

Shuni unitmanki \(i-\)chi o'rdak  \([x1_i, x2_i]\) oraliqning istalgan butun nuqtasidan uchishni boshlagan deb qarashingiz mumkun.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
3 3
-3 0
1 3
-1 2
3

B. 2048

Xotira: 16 MB, Vaqt: 1000 ms
Masala

2048 juda ajoyib va qiziqarli o'yin.... O'yin shartlari quyidagicha.

1. o'yin 4x4 jadvalda bo'ladi.
2. o'yin avvalida jadvalning istalgan ikkita katakchasiga 2 soni joylashtiriladi.
3. bir harakatda jadval dagi sonlar yuqoriga, pastga, o'ngga, chapga (faqat bittasiga) surilishi mumkin. Jadvaldagi sonlar qaysi tomonga surilsa, shu yo'nalish bo'yicha to'siqqa duch kelmaguncha suriladi. Agar son surilayotgan yo'nalishida o'ziga teng boshqa son bo'lsa ikkalasi birlashadi va ularning yig'indisiga teng bo'lgan son hosil bo'ladi. 
4. har bir harakatda jadvalning ixtiyoriy bo'sh bo'lgan katakchalaring birida (faqat bittasida) yana 2 soni paydo bo'ladi.
5. o'yin jadvalda bo'sh katakchalar qolmaguncha davom etadi.

Sizning vazifangiz berilgan bir nechta harakatdan keyin jadvalda hosil bo'ladigan eng katta sonni aniqlashdan iborat.

Kiruvchi ma'lumotlar:

Birinchi 4 ta qatorda o'yinning boshlanishdan oldingi holati beriladi. Bu yerda * bo'sh joyni ifodalaydi.
5-qatorda berilgan harakatlar soni N beriladi.

Keyingi N ta qatorning har birida esa jadvalni qaysi tomonga surilgani (R-o'ngga, L-chapga, U-yuqoriga, D-pastga) va har bir surilishdan so'ng  yangi 2 soni paydo bo'ladigan katakchaning kordinatasi X va Y beriladi. ( 1  <= N <= 10, 1 <= X, Y <=4) 
 

Chiquvchi ma'lumotlar:

Berilgan harakatlar natijasida o'yinda hosil boladigan eng katta sonni aniqlang.

Izoh:

1-test uchun na'muna:
            

Misollar:
# INPUT.TXT OUTPUT.TXT
1
**2*
****
****
***2
5
U 1 1
U 1 1
L 2 2
R 2 1
D 2 2
4

C. Shashka o'yini

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Shashka o'ynamagan odam bo'lamasa kerak, shundaymi?

Shunday bo'lsa ham o'yin shartlari va qoidalarini yana bir eslatib o'tamiz.

1. Shashka o'yini 8x8 taxtada o'ynaladi.
2. Taxtaning chap tomondagi birinchi katagi qora rangli bo'ladi. Qolgan kataklari esa "qo'shni kataklar turli hil rangli bo'ladi" degan qoida bilan yasaladi.
3. O'yinda 12 ta oq va 12 ta qora donachalar mos ravishta taxtaning boshidagi 3 ta va oxiridagi 3 ta qatorlarning faqat qora katakchalariga joylanadi
4. Bitta o'yin donachasi faqat o'zining harakat yo'nalishiga nisbatan bitta oldindagi qora katakchaga yura oladi. (Agar katakcha bo'sh bo'lsa)
5. Agar o'yin donachasining yurish yonalishida raqib donachasi bo'lsa va shu yo'nalishdagi undan keyingi katak bo'sh bo'lsa donacha o'sha bosh katakka o'tadi va raqib donachasi o'yindan olib tashlanadi. (Raqib donasini urib olish majburiy emas)

Sizga shashka o'yinidagi yurish navbati oq donalarda bo'lgan bir holat beriladi. Siz esa shu holatda oqlarning bironta donachasi qoralarning donachasini urib olsa bo'ladimi yo'qmi topishingiz kerak.

Kiruvchi ma'lumotlar:

8x8 jadvalda shashka  o'yinidagi holat beriladi, bu yerda 1 oqlar, 0 qoralar, * esa bo'sh joylar. 

Chiquvchi ma'lumotlar:

Agar oq donachalar raqibni donachalarini urib olish imkoniyati mavjud bo'lsa "Yes", aks holda "No" chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
*0*0*0*0
0*0*0*0*
***0*0*0
**0*****
***1****
1***1*1*
*1*1*1*1
1*1*1*1*
Yes
2
*0*0*0*0
0*0*0*0*
*0*0***0
******0*
***1****
1***1*1*
*1*1*1*1
1*1*1*1*
No

D. Karta o'yini #2

Xotira: 16 MB, Vaqt: 1000 ms
Masala

ICPC 2022 yarim finaliga qatnashish uchun DASTURCHILAR KLUBI a'zolari "uzoq" safarga yo'l olishdi. Ular yo'lda zerikib qolmasliklari uchun karta o'ynab ketishga qaror qilishdi. O'yin shartlari quyidagicha edi.
1. O'yinda K ta o'yinchi qatnashadi. 
2. Ularning har birida N tadan o'yin kartalari bor.
3. O'yin kartalari lotin alifbosining katta harflari bilan belgilangan.
4. O'yin davomida 1-o'yinchi yerga o'zining BIRINCHI kartasini tashlaydi, keyin esa navbat bilan o'yinchilar o'zlarining birinchi kartalarini yerdagi kartalar ustiga tashlashadi. (o'yinchilar har bir tashlashda faqat bitta, o'z qolidagi birichi kartani tashlaydi).
5. O'yin hamma o'z kartalarini tashlab bo'lgunicha davom etadi. 

O'xirida esa istalgan o'yinchi boshqa bir o'yichidan, yuqoridan hisoblanganda M-karta nima ekanligini so'raydi. Sizning vazifangiz shu M-kartani nimaligini topishdan iborat.

Kiruvchi ma'lumotlar:

Birinchi qatorda K va N sonlari. Keyingi K ta qatorda esa har bir o'yinchining qo'llaridagi N ta kartalar probel bilan ajratilgan holda beriladi. (1 <= K <= 10, 1 <= N <= 26)
Eng so'ngi qatorda esa M soni beriladi. (1 <= M <= N*K)

Chiquvchi ma'lumotlar:

Yerdagi kartalar ichidan yuqoridan boshlab hisoblanganda M-karta nima ekanligini chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2 5
D F R G H 
Z X C G R 
5
C
2
3 10
R F E D C B N K Y D 
A A A B B B C C C D 
T H J K U G B V D S 
25
H

E. Tap Away #2

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Tap Away juda ajoyib o'yin bo'lib, uning qoidalari quyidagicha.

1. O'yin N×M maydonda bo'lib o'tadi. 

2. Maydondagi katakchalarga Tepaga, Pastga, Chapga, O'nga yo'nalishlari o'rnatilgan. Agar siz biron katakcha ustiga bossangiz va katakcha yo'nalishi bo'yicha yo'lakda bironta ham belgi bo'lmasa, katakcha o'ziga o'rnatilgan yo'nalish bo'yicha harakat qiladi, aks holda katakcha qimirlamaydi.

3. Siz istalgan katakchaga bosish orqali uni jadvaldan chiqarib yuborishingiz mumkin. Lekin buning uchun katakchaning yo'nalishidagi yo'lda boshqa katakcha bo'lmasligi kerak. Eslatib o'tamiz yo'lida to'siq bo'lmagan katakchani jadvaldan chiqarib yuborish bu bitta harakat hisoblanadi.

Siz jadvaldagi barcha katakchalarni o'yindan chiqarib yuborish uchun eng kamida nechta harakat qilish kerakligini toping.

Kiruvchi ma'lumotlar:

Birinchi qatorda N va M butun sonlari beriladi.  ( 1 <= N,M <= 6)
Keyingi N ta qatorning har birida M tadan belgi probel bilan ajratilgan holda berilari: U-tepaga, D-pastga, L-chapga, R-o'ngga.

Chiquvchi ma'lumotlar:

Barcha katakchalarni jadvaldan chiqarib yuborish uchun eng kamida nechta harakat qilish kerak. Agar buning imkoni bo'lmasa -1 chiqaring.

Izoh:

1-test uchun na'muna:

          

Misollar:
# INPUT.TXT OUTPUT.TXT
1
2 2
U D 
L R
4
2
2 2
U D 
R L
-1

F. Eng kichik son #1

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Ha bu o'sha mashxur eng kichik sonni topish o'yini. o'yin shartlari quyidagicha.
Sizga natural son beriladi. Shu sonning raqamlari orasiga +,-,*,/ belgilaridan istalganini qoyib eng kichik son hosil qiling.

1. Raqamlar orasiga belgi qo'yish majburiy.

2. Bittadan ortiq belgi qo'yish mumkin emas. 

3. Hisob kitobda avval * yoki / so'ng esa + yoki - ishorasi bajariladi.

4. Har bir raqamlar orasidagi hisob kitob natijasi butun bo'lishi shart.

Kiruvchi ma'lumotlar:

Bitta qatorda uzunligi 106 dan oshmaydiga natural son.

Chiquvchi ma'lumotlar:

Hosil qilish mumkin bo'lgan eng kichik butun sonni toping. 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
10
0
2
12345
-119

G. Plus Mania GAME

Xotira: 10 MB, Vaqt: 1000 ms
Masala

Qulmamat yaqinda Plus Mania GAME o'yini yaratdi. O'yin \(n×n\) doskada ikki kishi tomonidan o'ynaladi. Birinchi o'yinchi \(n×n\) doskaga '.' va 'o' belgilaridan birini  \(1×1\) katakchalarga joylashtirib chiqishi kerak. Ikkinchi o'yinchi esa hosil bo'lgan shaklni maksimal miqdorda 'o' belgilaridan tashkil topgan plus shaklini turli xil bo'yoqlar bilan bo'yab chiqishi kerak(\(1×1\) katakcha bo'yalgan bo'lsa qayta bo'yab bo'lmaydi). 

  • plus shakli rasimdagidek shaklga ega bo'lishi kerak;
  • shakl 'o' belgisidan tashkil topgan bo'lishi va \(5\) ta \(1×1\) katakchani o'z ichiga olishi shart.

sample-img1

Sizning vazifangiz o'yinni boshlab bergan o'yinchi hosil qilgan shakldan maksimal sondagi pluslarni bo'yab chiqgandan so'ng birorta 'o' belgi joylashtirilgan katakcha bo'yalmay qolib ketganmi yo'qmi tekshirish.

Kiruvchi ma'lumotlar:

Kirish faylining birinchi satrida \(n(3\leq n\leq 50)\) doska o'lchami. Kiyingi \(n\) satrda \(n\) tadan faqatgina '.' va 'o' belgilaridan tashkil topgan birinchi o'yinchi hosil qilgan shakl beriladi. 

Chiquvchi ma'lumotlar:

Chiqish faylida 'o' belgisi joylashtirilgan \(1×1\) katakchalarning barchasini bo'yashni iloji bo'lsa \(yes\) aks holda \(no\) so'zini chop eting.

Izoh:

\(1-\)test rasimdagidek bo'yashni amalga oshiriladi va birorta 'o' belgisi joylashtirilgan \(1×1\) katakchalar qolib ketmaydi.

sample-img2


 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
5
.o...
oooo.
.oooo
...o.
.....
yes
2
5
..o..
.ooo.
..ooo
...o.
.....
no
3
5
.....
.....
.....
.....
.....
yes

H. Number jump

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Number jump o'yini juda qiziqarli o'yin bo'lib, buni quyida bilib olishingiz mumkin.

O'yin avvalida o'yinchiga N soni va M raqami beriladi. O'yinchining o'zi esa sanoqdagi M sonining kordinatasiga joylashib oladi. O'yinchi sanoqdagi N sonidan kichik va M raqami qatnashgan ixtiyoriy songa sakrab o'ta oladi. 

Sizning vazifangiz o'yinchi N soni turgan kordinataga bora oladimi yo'qmi aniqlashdan iborat.

Kiruvchi ma'lumotlar:

Bitta qatorda N natural soni va M raqami. (0 <= M <=9,  M <= N <= 1018)

Chiquvchi ma'lumotlar:

O'yinchi N soniga bora olsa "Yes", aks holda shu songa yetib borish uchun eng kamida qancha masofa qolganini chiqaring.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
10 5
5
2
10 1
Yes
Kitob yaratilingan sana: 06-May-24 15:55