A. Defis - bu chiziqcha
Xotira: 16 MB, Vaqt: 1000 msS matn yoki so'z beriladi. Sizning vazifangiz ushbu matndagi so'zlarni defis bilan ajratishingiz kerak. Matndagi so'z 10 belgidan oshsa so'zning o'rtasiga defis qo'yilgan holda ikkiga bo'lib, agar matndagi so'z 10 belgidan oshsa va belgilar soni toq bo'lib qolsa so'zining ikkinichi tomoniga ortiqcha bo'lib qolgan belgini qo'shib ikkiga bo'lingan holda chop eting.
Kirish faylining bitta qatorida matn yoki so'z.
Chiqish faylida masala javobini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
Assalomu Alaykum Javohir |
Assalomu-Alaykum-Javohir |
2 |
Robocontest contest |
Roboc-ontest-contest |
3 |
Bilmasvoyta'tilda |
Bilmasvo-yta'tilda |
B. Ali va Vali
Xotira: 16 MB, Vaqt: 1000 msBilmasvoy ukalari Ali va Valining yoshini esidan chiqarib qo'ydi. Ali Bilmasvoyga Validan N yoshga kattaligini aytdi. Lekin Bilmasvoy ukalarini yoshini topa olmadi. Keyin Vali Alidan K marta kichikligni aytdi. Bilamsvoy vanihoyat ukalarining yoshini topdi. Siz ham topingchi!?
Kirish faylining bitta qatorida N va K natural sonlari, N( 0 < N < 109) va K(1 < K < 104) berilgan.
Chiqish faylining yagona satrida birinchi Alining keyin Valining yoshini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
48 7 |
56 8 |
C. Ajoyib Tenglama
Xotira: 16 MB, Vaqt: 1000 ms″Men har doim matematikani yoqtirardim. Bu fikrni ifodalashning eng aniq va ixcham usulidir.″ - Narayana Murthy.
Matematika ajoyib fan, undagi tenglamalar esa uni go'zallashtirib turuvchi omillardan biri.
Keling bir ajoyib tenglamani ko'rib chiqamiz :
ax + by = c.
Sizga a, b, c musbat sonlari berilgan. Sizning vazifangiz x va y uchun butun sonlar mavjud yoki mavjud emasligini aniqlashingiz kerak. x va y musbat yoki manfiy bo'lishi mumkin.
Misol uchun a = 3, b=4, c = 10 bo'lsa biz x = 2 va y = 1 bo'la olishini bilishimiz mumkin.
Kirish faylining birinchi qatorida T\(\le\)1000 (Testcaselar soni)
Keyingi T ta qatorida 3 ta natural son a, b, c (1\(\le\)a, b, c \(\le\)\(10^{10}\)) berilgan.
Chiqish faylida T ta qatorda agar yechimlar butun son bo'lsa ″Yes″ , agarda yechim mavjud bo'lmasa, ″No″ yozuvini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 2 4 8 |
Yes |
D. Virus
Xotira: 16 MB, Vaqt: 1000 msViruslandiyada noma'lum virus tarqalishni boshladi. Bundan xabar topgan Shohruh tezlik bilan o'zini yotoqxonasiga qarab yo'lga chiqdi. Unda Viruslandiya online xaritasi mavjud. Qaysi kvartallarda virus tarqalganligini ko'rishi mumkin. Virus ham tezlik bilan tarqalmoqda. U har soatda o'ziga qo'shni bo'lgan kvartallarni qamrab oladi. Shohruh ham har soatda bir kvartaldan o'ziga qo'shni boshqasiga o'tishi mumkin. Viruslandiya xaritasi \(N \times M\) ko'rnishida.
Bunda Shohruh dastlab turgan kvartal S harfi bilan belgilangan.
Uning yotoqxonasi esa D harfi bilan belgilangan.
Virus aniqlangan hududlar esa yulduzcha(*) bilan belgilangan.
Shuningdek shaharda aholi yashamaydigan kvartallar mavjud bo'lib, u yerda virus tarqala olmaydi va Shohruh ham u yerdan yura olmaydi. U yerlar xaritada X bilan belgilangan.
Shohruh eng kamida necha soatda yotoqxonasiga yetib borishi mumkinligini chop eting. Agar u virus yuqtirib olsa shu zahoti u karantinga olinadi. Bunday holda ″Karantin″ so'zini chop eting.
Qo'shtirnoqsiz va har bir xarf katta kichik ixtiyoriy ko'rinishda.
Kirish faylida birinchi qatorda N va M natural sonlari beriladi. Bunda ular 50 dan oshmaydi.
Keyingi N qatorda M tadan belgi kiritiladi. Mos ravishda:
S - Shohruh turgan boshlang'ich kvartal.
D - Shohruhning yotoqxonasi.
* - bular virus tarqalgan hududlar.
. - virus tarqalmagan aholi yashash punktlari.
X - aholi yashamaydigan hududlar
S va D nuqtalar yagona ekanligi kafolatlanadi.
Chiqish faylida Shohruh eng kamida necha soatda borishini agar borolmasa Karantin so'zini chop eting.
Virus yotoqxonaga kira olmaydi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 3 D.* ... .S. |
3 |
2 |
3 3 D.* ... ..S |
KARANTIN |
3 |
3 6 D...*. .X.X.. ....S. |
6 |
E. Matritsaviy o'yin
Xotira: 256 MB, Vaqt: 1000 msSizga 1,2,…,9 raqamlarini o'z ichiga olgan 3×3 matritsa beriladi. Sizning vazifangiz matritsani quyidagi holatga olib kelish :
1 2 3
4 5 6
7 8 9
Har bir amalda siz har qanday ikkita qo'shni raqamlarni almashtirishingiz mumkin (gorizontal yoki vertikal). Berilgan vazifani bajarish uchun minimal holatda nechta amal bajarishingiz kerak?
Kirish faylining uchta qatorida uchtadan raqam beriladi.
Chiqish faylida minimal qadamlar sonini chop eting.
Bitta butun sonni chop eting: amallarning minimal soni.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
7 4 2 3 9 5 8 6 1 |
9 |
2 |
5 8 2 6 4 7 3 9 1 |
10 |
F. G'alati o'rmon
Xotira: 64 MB, Vaqt: 1000 msBu interaktiv vazifa.
O'rmonchi Bilmasvoy daraxt kesmoqda. U daraxt kesayotgan o'rmon \(N*N\) katakdan tashkil topgan bo'lib, har bir katakda bittadan daraxt mavjud. U daraxtlarni \(5*5\) shaxmat doskasi ko'rinishda kesib chiqdi. Bu yerda har bir katak \(M*M\) maydondan iborat. To'liqroq tushunishingiz uchun quyidagi rasmga e'tibor bering:
Bu yerda qora maydonlar daraxt kesilgan joylar.
O'rmonchi uyiga qaytayotib asbob-uskunalarini olishni unutib qo'ydi. Lekin uning ish qurollari rasmdagi qora nuqta - ya'ni shaxmat shaklida kesilgan daraxtlarning markazida joylashganini biladi. Bilmasvoyga anjomlarini topishga yordam beruvchi dastur tuzing.
Kirish faylining birinchi qatorida uchta butun son N, x va y butun sonlari mavjud. \((1 \le N, x, y \le 2*10^9)\).
Bu yerda N kvadrat shaklidagi o'rmonning bir tomoni, x va y rasmda qora bilan belgilangan istalgan koordinatadan biri.
Siz dasturga quyidagicha ko'rinishda so'rov yuborishingiz mumkin:
\("? \ x \ y"\). Bu yerda x va y o'rmonning istalgan koordinatasi. So'rovga javoban siz so'ragan koordinatada daraxt kesilgan bo'lsa ″true″, aks holda ″false″ ko'rinishida javob olasiz. Agar siz yuborgan koordinata mavjud bo'lmasa, dastur shu zahoti tugaydi va \("Presentation \ error"\) xatoligini olasiz.
Dasturga ko'pi bilan 150 ta so'rov yuborishingiz mumkin. Agarda so'rovlar soni oshib ketsa, dastur shu zahoti tugaydi va \("Time \ limit"\) xatoligini qaytaradi.
Javobni topganingizdan so'ng, \("! \ x \ y"\) ko'rinishida so'rov yuborishingiz va dasturni tugatishingiz zarur.
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()
Buyruqlardan birini yozishingiz kerak bo’ladi!
Daraxtlar quyidagicha ko'rinishda kesilgan bo'lishi mumkin.
Unutmang, har doim M soni \(M \ge 3\) bo'lgan toq sondir.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
20 4 9 false true true |
? 2 9 ? 9 14 ? 11 9 ! 10 9 |
G. A+B
Xotira: 16 MB, Vaqt: 1000 msA va B butun sonlari yig'indisini hisoblash kerak bo'ladi.
Kirish oqimida ikkita butun son kiritiladi, sonlar 109dan kam
Chiqish oqimida berilgan ikki sonni yig'indisini chiqarish kerak bo'ladi
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 3 |
5 |