A. Velosiped poygasi

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Bitlandiyada n ta shahar mavjud bo'lib 1 dan n gacha raqamlangan. Velosiped poygasi esa 1-shaharda boshlanib 2-shahrda tugaydi. Shuningdek ushbu shaharlarni bog'lovchi M ta bir tomonlama yo'llar mavjud. 1-shahardan 2-shaharga borishni necha xil yo'li borligini aniqlovchi dastur tuzing. Agar javob cheksiz bo'lsa inf, juda katta bo'lsa oxirigi 9 ta raqamini chop eting.

Kiruvchi ma'lumotlar:

Kirish faylining 1-qatorida N va M natural sonlari kiritialadi.(1 ≤ N ≤ 10 000, 1 ≤ M ≤ 100 000)

Keyingi M ta qatorda 2 ta turli sonlar A, va B kiritiladi. A shahardan B shaharga yo'l borligini bildiradi.

Ikkita shahar orasida bir qancha yo'llar bo'lishi mumkin.

Chiquvchi ma'lumotlar:

Chiqish faylida masala javobini chop eting.Agar javob cheksiz bo'lsa inf, juda katta bo'lsa oxirgi 9 xonani chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
8 14
6 7
6 8
7 5
5 2
5 3
4 8
1 6
5 2
7 5
6 4
1 4
5 2
7 4
8 3
6

B. Puzzle

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Quyidai puzzle barchaga ma'lum bo'lsa kerak.

Ya'ni bitta bo'sh katakcha bo'ladi. Qolganlarini ustun yoki qator bo'yicha siljitishingiz kerak bo'ladi. 

Bizni masala sal boshqacharoq, ixtiyoriy belgini(nuqatadan tashqari) o'z o'rniga olib borish mumkin. Bunda uning narxi mos ustun va qatorlar ayirmalarining yig'indisi bo'ladi(Manhettan masofasi).

Kiruvchi ma'lumotlar:

Kirish faylida 4 qatorda 4 ta dan belgi kiritiladi. Input qoniqarli bo'lishi kafolatlanadi. Ya'ni oshiqcha belgilar bo'lmaydi.

Chiquvchi ma'lumotlar:

Chiqish faylida puzzle ni terilgan holatga keltirish uchun minimal narxni chop eting.

Izoh:

1-test:

Hech qanday o'zgarish qilish shart emas. Javob 0.

2-test

Faqat L nuqta joyi o'zgargan uning narxi 1. Javob 1.

3-test

D harfi uchun 6

F uchun 1

G uchun 1

H uchun 4

J uchun 1

K uchun 1

L uchun 2

M harfi uchun 6

N uchun 4

O uchun 2

Javob: 6 + 1 + 1 + 4 + 1 + 1 + 2 + 6 + 4 + 2 = 28

Misollar:
# INPUT.TXT OUTPUT.TXT
1
ABCD
EFGH
IJKL
MNO.
0
2
ABCD
EFGH
IJK.
MNOL
1
3
ABCM
EJFN
IKGO
DHL.
28

C. Bill Gates va Jurnalist

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Bill Gates ajoyib ko'rsatuvga taklif qilindi. U jurnalistga eng boy odam ekanligini yana bir bor isbotlash maqsadida unga bir chek berib undagi ixtiyoriy raqamni o'zgartirishi mumkinligini va unga shu miqdordagi pulni hadya qilishini aytdi. Jurnalist imkoniyatdan maksimal foydalanmoqchi. Unga bunda yordam bering.

Kiruvchi ma'lumotlar:

Kirish faylida Bill Gates bergan chekdagi natural son  \(N(1 \le N \le 10^{18})\) kiritiladi.

Chiquvchi ma'lumotlar:

Chiqish faylida Jurnalist qo'lga kiritishi mumkin bo'lgan pul miqdorini chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
69
99
2
996
999

D. Do'st olmalar.

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Dinarada n ta olmalar mavjud. Ular turli xil o'lchamlarga ega. Ular 1 dan 100 gacha o'lchamda bo'lishi mumkin. U ikkita olmani do'st juftlik deb ataydi qachonki ularning o'chamlari bir xil bo'lsa. Endi uni bir savol qiziqtirib qo'ydi. Nechta do'st olmalar juftligi bor? Unga buni aniqlashda yordam bering.

Kiruvchi ma'lumotlar:

Kirish faylida birinchi qatorda \(n(1 \le n \le 100)\) olmalar soni. Keyingi qatorda n ta olma o'lchamlari.

Chiquvchi ma'lumotlar:

Chiqish faylida do'st olmalar juftliklari sonini chop eting.

Izoh:

1-testda:

4 ta do'st olmalar juftliklari (1,4), (1,5), (4,5), (3,6)

Misollar:
# INPUT.TXT OUTPUT.TXT
1
6
1 2 3 1 1 3
4
2
4
1 1 1 1
6
3
3
1 2 3
0

E. Ot!

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Bu interaktiv vazifa.  O'rdaklarni ovlashingiz kerak bo'lgan eski o'yinni eslaysizmi?  Hozir jahon chempionati bo'lib o'tmoqda va Ahmadjon bosh sovrinni qo'lga kiritishni orzu qiladi.  Ahmadjon g'alaba qozonishi uchun sizning yordamingiz zarur. Siz o'rdaklarni ovlovchi dastur tuzishingiz kerak.

O'yin katakchalardan iborat cheksiz ekranda sodir bo'ladi.  O'rdak o'yinchiga noma'lum bo'lgan ma'lum bir katakchada.

O'yinchi har qanday katakchaga o'q uzishi mumkin.  Agar u o'rdakni ursa, u sovrinni oladi va o'yin tugaydi.  Agar u tekiza olmasa, o'rdak qo'rqib ketadi va otishmadan uchib ketishga harakat qiladi.  Agar siz o'rdakdan pastroq chiziqni ursangiz, u holda o'rdak bir qator yuqoriga uchadi.  Agar siz yuqoridagi chiziqqa tegsangiz, o'rdak bir qator pastga uchadi.  Agar siz o'rdak turgan chiziqni urgan bo'lsangiz, unda chiziq o'zgarmaydi.  Xuddi shunday qoidalar ustunlar uchun ham qo'llaniladi.

Otishdan keyin siz o'rdak uchgan katakchani bilmaysiz, lekin uning har bir o'q bo'ylab siljishini bilasiz.  Sizning vazifangiz 63 ta dan kam bo'lgan o'q bilan g'alaba qozonishdir.

Kiruvchi ma'lumotlar:

Har bir kadr alohida satrda navbati bilan satr va ustun sonini ko'rsatuvchi bo'sh joydan ajratilgan ikkita butun son i va j sifatida chiqariladi.  O'yin maydoni cheksiz bo'lishiga qaramay, tortishish koordinatalari mutlaq qiymatda \(10^9\) dan oshmaydi.

 Har bir zarbangizdan so'ng kirishga ikkita butun son \(d_i\) va \(d_j\) beriladi, bu mos ravishda o'rdak koordinatalari qatori va ustunidagi o'zgarishlarni anglatadi.

 Agar bu raqamlarning ikkalasi ham nolga teng bo'lsa, unda siz o'rdakni urgan bo'lasiz va dasturni tugatishingiz kerak.

 O'rdakning dastlabki koordinatalari absolyut qiymatda \(10^6\) dan oshmasligi kafolatlanadi.

Chiquvchi ma'lumotlar:

Ko’pi bilan 63 ta so’rovdan foydalangan holda hakamlar hay’atining dasturi o’ylagan sonni izlab toping.

ESLATMA: Interaktiv masalada sizning javobingizni hakamlar hay’ati qabul qila olishi uchun siz har bir so’rovingiz oxirida

  • Agar Pascal tilida ishlagan bo’lsangiz: flush(output)
  • Agar C/C++ tilida ishlagan bo’lsangiz fflush(stdout) yoki cout.flush()
  • Agar Java tilida ishlagan bo’lsangiz System.out.flush()
  • Agar pythonda ishlagan bo’lsangiz sys.stdout.flush()
  • Agar C# tilida ishlagan bo’lsangiz Console.Out.Flush()

buyruqlaridan birini yozishingiz kerak bo’ladi!

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

F. Bayram stoli

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Bitvoy do'stlari bilan bayram uyushtirmoqchi. Ammo u do'stlari uchun to'g'ri to'rtburchak shaklidagi stol buyurtma qilmoqchi. U juda  sahiy. Shuning uchun iloji boricha ko'proq mehmon o'tirishi mumkin bo'lgan stol buyurtma qilmoqchi. Bunda stol sig'imi uning perimetri bilan bir xil. Bitvoy eng ko'pi bilan necha nafar do'stini taklif qilishi mumkinligi aniqlang. Stolda o'zi ham o'tirishi kerak. 

Kiruvchi ma'lumotlar:

Kirish faylida birinchi qatorda Bitvoyning uyini o'lchamlari kiritiladi. N, M\((1\le N, M \le 400)\).

Keyingi N qatorda Bitvoy uyining xaritasi M tadan belgi, bunda X -> bu joy allaqachon band, nuqta(.) -> bo'sh joyni anglatadi.

Chiquvchi ma'lumotlar:

Chiqish faylida Bitvoy nechta do'stini chaqirishi mumkin ekanligini chop eting.

Izoh:

1-testda:

Demak eng ko'pi bilan 2x2 o'lchamli stol buyurtma qilishi mumkin.

P  = 2 * (1 + 1) = 4

O'zi ham borligi uchun 4 - 1=3.

2-testda:

Demak eng ko'pi bilan 10x4 o'lchamli stol buyurtma qilishi mumkin.

P  = 2 * (4 + 10) = 28

O'zi ham borligi uchun 28 - 1=27.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
1 1
.
3
2
10 10
....X.....
X.........
..........
..........
..........
..........
.......X..
..........
..X.......
...X......
27

G. Harorat

Xotira: 16 MB, Vaqt: 1000 ms
Masala

Sizga Selsiy shkalasi bo'yicha harorat beriladi. Uning Kelvin va Farangeyit shkalasi bo'yicha haroratini topuvchi dastur tuzing.

Bunda ular quyidagicha bog'langan:

  • Kelvin = Celsius + 273.15
  • Fahrenheit = Celsius * 1.80 + 32.00
Kiruvchi ma'lumotlar:

Kirish faylida yagona nomanfiy qiymati 1000 dan oshmaydigan haqiqiy son kiritiladi.

Chiquvchi ma'lumotlar:

Chiqish faylida ikki qatorda mos ravishda Kelvin va Farangeyit shkalasi bo'yicha haroratni chop eting. Bunda \(10^{-5}\) xona aniqlikda chop eting.

Izoh:

C++ tilida aniqlik bilan ishlash uchun quyidagi exampledan   foydalanishingiz mumkin.

double javob = 10.01;

cout << fixed << setprecision(5) << javob << endl;

 

Misollar:
# INPUT.TXT OUTPUT.TXT
1
500.29
773.44000
932.52200
2
256.17
529.32000
493.10600
Kitob yaratilingan sana: 15-Nov-24 06:50