A. Velosiped poygasi
Xotira: 16 MB, Vaqt: 1000 msBitlandiyada 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.
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.
Chiqish faylida masala javobini chop eting.Agar javob cheksiz bo'lsa inf, juda katta bo'lsa oxirgi 9 xonani chop eting.
# | 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 msQuyidai 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).
Kirish faylida 4 qatorda 4 ta dan belgi kiritiladi. Input qoniqarli bo'lishi kafolatlanadi. Ya'ni oshiqcha belgilar bo'lmaydi.
Chiqish faylida puzzle ni terilgan holatga keltirish uchun minimal narxni chop eting.
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
# | 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 msBill 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.
Kirish faylida Bill Gates bergan chekdagi natural son \(N(1 \le N \le 10^{18})\) kiritiladi.
Chiqish faylida Jurnalist qo'lga kiritishi mumkin bo'lgan pul miqdorini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
69 |
99 |
2 |
996 |
999 |
D. Do'st olmalar.
Xotira: 16 MB, Vaqt: 1000 msDinarada 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.
Kirish faylida birinchi qatorda \(n(1 \le n \le 100)\) olmalar soni. Keyingi qatorda n ta olma o'lchamlari.
Chiqish faylida do'st olmalar juftliklari sonini chop eting.
1-testda:
4 ta do'st olmalar juftliklari (1,4), (1,5), (4,5), (3,6)
# | 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 msBu 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.
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.
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!
# | 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 msBitvoy 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.
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.
Chiqish faylida Bitvoy nechta do'stini chaqirishi mumkin ekanligini chop eting.
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.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 1 . |
3 |
2 |
10 10 ....X..... X......... .......... .......... .......... .......... .......X.. .......... ..X....... ...X...... |
27 |
G. Harorat
Xotira: 16 MB, Vaqt: 1000 msSizga 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
Kirish faylida yagona nomanfiy qiymati 1000 dan oshmaydigan haqiqiy son kiritiladi.
Chiqish faylida ikki qatorda mos ravishda Kelvin va Farangeyit shkalasi bo'yicha haroratni chop eting. Bunda \(10^{-5}\) xona aniqlikda chop eting.
C++ tilida aniqlik bilan ishlash uchun quyidagi exampledan foydalanishingiz mumkin.
double javob = 10.01;
cout << fixed << setprecision(5) << javob << endl;
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
500.29 |
773.44000 932.52200 |
2 |
256.17 |
529.32000 493.10600 |