A. Sehrli son
Xotira: 32 MB, Vaqt: 1000 msKunlardan bir kun sehrgar sehrli qasrda o‘zining sirli topshiriq kitobini ochib qoldi. Kitobda quyidagicha topshiriq bor edi:
“Sehrli Qasr Vazifasi”
Sehrli qasrda yashovchi Azimjon qasrdan chiqib ketmoqchi. Lekin u qasrdan chiqish uchun qasrning sirli qoidalariga amal qilishi kerak. Qoidalar quyidagicha:
- Azimjonga soni beriladi.
- U shunday musbat sonini topishi kerakki, shart bajarilishi kerak.
- Topilgan ning raqamlari yig'indisi eng katta bo'lishi kerak.
Sehirgar bu muammoni hal qilish uchun sizga murojaat qildi. Sehrli qasrning sirini ochish uchun sehrli ni topishda yordam bering va sehrgar sizni o‘zining eng yaxshi do‘sti deb e'lon qiladi! 🎩✨
Kirish faylining dastlabki satrida butun soni beriladi.
Chiqish faylida raqamlari yig'indisi eng katta bo'ladigan sonni chop eting, agar yechimlar bir nechta bo'lsa eng katta ni tanlashingiz zarur bo'ladi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
100 |
99 |
2 |
948 |
899 |
B. O'rindiqlar
Xotira: 32 MB, Vaqt: 1000 msAytaylik, siz har kuni universitetga darsga borasiz. Har safar dars boshlanishidan oldin oxirgi daqiqalarda yetib kelasiz va sinfdagi ba'zi o'rindiqlar band. Masalan, bugun darsga do'stlaringiz sizdan oldin kelishgan va ba'zi bir o'rindiqlarni egallab band qilishgan.
Sinfda qator va ustundan iborat o'rindiqlar bor. Sinfni ko'rinishidagi matritsa ko'rinishida ifodalash mumkun. Bo'sh joylar bilan, band joylar esa belgisi bilan ifodalanadi. Sizning vazifangiz ixtiyoriy ustun yoki satrda ta yonma yon bo'sh joylarni. Tanlash mumkun bo'lgan barcha joylar sonini hisoblashingiz zarur bo'ladi. Tanlashingiz mumkun bo'lgan barcha joylar bir biridan farq qilishi kerakligini unitmang.
Kirish faylida uchta butun son, mos ravishda sinf xona o'lchami va topishingiz kerak bo'lgan bo'sh joylar soni.
Kiyingi satrlarda matritsa beriladi sinf xona tasvirlanadi. Matritsa ikki xil belgidan tashkil topgan bo'lib, bo'sh joyni va band joyni bildiradi.
Chiqish faylida barcha mumkun bo'lgan tanlashlar sonini ta satr yoki ustun bo'yicha qo'shni bo'sh joylar soni chop eting.
Birinchi testda barcha mumkun bo'lgan tanlashlar soni quyida keltiriladi.
- ,
- ,
- ,
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 3 2 **. ... |
3 |
2 |
3 3 4 .*. *.* .*. |
0 |
C. Robot va manipulyator
Xotira: 32 MB, Vaqt: 1000 msRobot koordinata tekislikda harakatlanadi va o'z yo'nalishini belgilar orqali boshqaradi. Harakat boshlang'ich nuqta dan boshlanadi va quyidagi buyruqlarni bajaradi:
- – bir birlik chapga qadam tashlash.
- – bir birlik o'ngga qadam tashlash.
- – bir birlik yuqoriga qadam tashlash.
- – bir birlik pastga qadam tashlash.
Robot maqsadi – barcha buyruqlarni bajargandan keyin yana boshlang'ich nuqtaga qaytish. Robot manipulyator deb ataladigan moslamaga ega. Bu manipulyator bir harakatni boshqa istalgan harakatga almashtiradi .
Manipulyatordan foydalanish robotga noqulay bo'lganligi sababli, uni ishlatish imkon qadar kamroq amalga oshirilishi kerak. Agar boshlang'ich nuqtaga qaytishning iloji bo'lmasa, bu haqda xabar berish kerak.
Bitta qatorda uzunligi bo'lgan satr berilgan – bu Robotning harakatlari ketma-ketligi.
Agar Robotni boshlang'ich nuqtaga qaytarish imkonsiz bo'lsa, chiqishda ni chop eting. Aks holda, Robotni qaytarish uchun minimal manipulyator ishlatish sonini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
RRU |
-1 |
2 |
UDUR |
1 |
D. Robot muhandissi
Xotira: 32 MB, Vaqt: 1000 msUzoq kelajakda siz robotni dasturlash bo'yicha yetakchi muhandissiz. Sizga yangi vazifa topshirildi.
Robotga berilgan butun son ni shunday bo'laklarga ajratish kerakki, u bo'laklar raqamlari faqat va dan iborat bo'lsin. Robot bu bo'laklarni yig'ib, asosiy maqsadni bajarishi kerak. Robot qancha ko'p bo'lak ishlatsa, uning energiya sarfi shuncha yuqori bo'ladi. Shuning uchun siz ni imkon qadar minimal bo'laklar soniga ajratishingiz kerak.
Bo'laklash shartlari:
- Robot bo'laklarni yig'ib, sonni qayta tiklay olishi kerak .
- Har bir bo'lak faqat va raqamlaridan tashkil topgan son (masalan, ) bo'lishi kerak. Boshqa raqamlar (masalan, ) robotning tizimida xatolik keltirib chiqaradi.
- Robot bo'laklarning sonini minimal qilishga intilishi kerak.
Sizga berilgan topshiriq shundan iboratki, yuqoridagi shartlarni qonoatlantiradigan dasturni robotga yozib berishdan iborat.
Kirish faylining yagona satrida butun soni beriladi.
Chiqish faylining dastlabki satrida minimal sonini chop eting, kiyingi satrda probil bilan ajratilgan holda ni chop etasiz. Agar bir nechta yechim mavjud bo'lsa ulardan birini chop etishingiz mumkun.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
4 |
4 1 1 1 1 |
2 |
21 |
2 10 11 |
E. Yangi qavslar
Xotira: 32 MB, Vaqt: 1000 msQavslar ketma-ketligi to'g'ri hisoblanadi, agar ochiluvchi va yopiluvchi qavslar soni teng bo'lsa hamda har qanday prefiks ichida yopiluvchi qavslar soni ochiluvchi qavslardan oshib ketmasa. Masalan, , yoki ketma-ketliklari to'g'ri, ammo , yoki ketma-ketliklari to'g'ri emas.
Sizga ta ochiluvchi va yopiluvchi qavslardan tashkil topgan satr beriladi. Szining vazifangiz berilgan kvadrat qavslar ketma-ketligini minimal balandlikdagi minimal psevdografik tasvirida chizishdan iborat. Tasvirlash uchun “+” va “-” (gorizontal) va “|” (vertikal) belgilaridan foydalanishingiz mumkun.
Masalan, ketma-ketlikni quyidagicha tasvirlash mumkun.
Qavslarni tasvirlashda quyidagicha cheklovlarga amal qiling:
- Chizishda qavslarning balandligi minimal bo'lishi kerak.
- Qavslar orasida faqat bitta bo'sh joy qoldiring, birlashib ketmasligi uchun.
- Ichma-ich joylashgan qavslar tashqi qavsdan kichikroq bo'lishi kerak.
Qavslarni tasvirlashda barcha qoidalarni hisobga oling va tasvirni eng ixcham shaklda chizing. Bu usul yordamida har qanday to'g'ri kvadrat qavslar ketma-ketligi yagona va aniq tarzda tasvirlanadi.
Kirish faylining dastlabki satrida juft butun soni beriladi. Kiyingi satrda muvozanatlashgan satr beriladi. Berilgan satr faqat va qavslardan tashkil topgan. Satrning muvozanatliligi kafolatlanadi.
Chiqish faylida masalaning yechimini chop eting ortiqcha belgilarsiz.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
6 [[][]] |
+- -+ |+- -++- -+| || || || |+- -++- -+| +- -+ |
2 |
6 [][[]] |
+- -++- -+ | ||+- -+| | ||| || | ||+- -+| +- -++- -+ |
F. Chigirtkalar ligasi
Xotira: 45 MB, Vaqt: 1000 msTasavvur qiling, “Chigirtkalar Ligasi” bo‘lib o‘tmoqda. Uzunligi birlik bo‘lgan aylana ustida bir nechta chigirtka poygada qatnashmoqda. Har bir chigirtka bir xil tezlikga ega, har sekundda 1 birlik masofa bosib o‘tadi. Lekin ularning xarakteri o‘zgacha: dastlab ba’zilari harakatni chap (L), ba’zilari esa harakatni o‘ng (R) yo'nalishda sakrash bilan boshlaydi.
Aylana ustida ta chigirtka joylashgan bo‘lib, ularning har biri poyga boshida pozitsiyada turibdi va yo'nalishda bir vaqtda barcha chigirtka harakatni boshlaydi. Pozitsiyalar soat strelkasiga qarama-qarshi yo‘nalishda dan gacha raqamlangan.
Biroq bu oddiy poyga emas! Aylana ustida maxsus qoidalar amal qiladi:
- Agar ikki chigirtka to‘qnashib ketsa, ular birdaniga yo‘nalishlarini teskari tomonga o‘zgartiradi (etibor bering chigirtkalar vaqt birligining yarmi uchun qandaydir yo'nalishda va vaqt birligining yana yarmi uchun teskari yo'nalishda harakatlanishi mumkin).
- Agar bir vaqtning o‘zida bir nechta to‘qnashuvlar yuz bersa, barchasi bir vaqtda o'z yo'nalishini qarama-qarshisiga o'zgartiradi.
- Harakat davomida chigirtka pozitsiyadan o‘tganda pozitsiyaga qaytadi, va aksincha.
Sizning vazifangiz poyga birlik vaqt o‘tgach, har bir chigirtkaning yakuniy pozitsiyasini aniqlang.
Kirish faylining dastlabki satrida - mos ravishda chigirtkalar soni, doira uzunligi va vaqt birligi.
Kiyingi ta satrda mos ravishda chigirtka joylashgan pozitsiya va chigirtka yo'nalishi. va mos ravishda soat yo'nalishi bo'yicha va soat miliga teskari yo'nalishga mos keladi.
Chiqish faylida vaqt birligidan so'ng, dastlabki chigirtkadan boshlab oxirgi chigirtkagacha barcha pozitsiyalarni bitta satrda probil bilan ajratilgan holda chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 4 8 1 R 3 L |
1 3 |
2 |
4 8 6 6 R 5 L 1 R 8 L |
7 4 2 7 |
3 |
4 8 2 1 R 5 L 6 L 8 R |
3 3 4 2 |
G. Ikkilik qator
Xotira: 32 MB, Vaqt: 1000 msSizga ikkilik sanoq sistemasidagi satr beriladi. Siz ushbu satr ustida quyidagi ikki amalni istalgancha bajarishingiz mumkun:
- satrning istalgan oralig'ini teskarisiga aylantirishingiz mumkun, faqat energiya sarf qilasiz. Misol .
- satrning istalgan oralig'idagi 1 larni 0 ga va 0 larni 1 ga almashtirishingiz mumkun, faqat energiya sarf qilasiz. Misol .
Sizning vazifangiz faqat 1 lardan iborat satrni hosil qilish uchun minimal qancha energiya sarf qilish kerak ekanligini hisoblashdan iborat.
Kirish faylida ikkita butun sonlari beriladi. Kiyingi qatorda ikkilik satr beriladi.
Chiqish faylida masalaning yechimini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 10 01000 |
11 |
2 |
10 1 01000 |
2 |
H. Satr ichidagi sarguzashtlar
Xotira: 32 MB, Vaqt: 1000 msSizga bir sirli satr berilgan. Ushbu satr o'z ichiga qiziqarli belgilarni oladi va SamCoding jamoasi sizdan u ustida bir nechta so'rovlarga javob berishni talab qiladi. Satr bilan ishlash uchun sizga ta so'rov beriladi, har bir so'rov quyidagi ikki turdan biriga tegishli:
1-tur: “Belgini almashtirish”
So'rov ko'rinishida berilsa satrning pozitsiyadagi joylashgan belgini ga almashtirish kerak.
2-tur: “Substring izlash”
So'rov ko'rinishida berilsa satr ichida substringi necha marta uchrashini hisoblash kerak.
Substring – bu berilgan satrning ketma-ket tartibda keladigan qismidir (“abc” satrning barcha substringlari “a”, “b”, “c”, “ab”, “bc” va “abc”).
Kirish faylining dastlabki satrida satr beriladi.
Kiyingi satrda so'rovlar soni beriladi.
Kiyingi ta satrda yuqorida aytib o'tilgan ikki turga mansub so'rovlar beriladi.
- ;
- ;
Barcha so'rovlar uchun larning yig'indisi dan oshmasligi kafolatlanadi
Chiqish faylida har bir ikkinchi turga mansub so'rovga javobni alohida satrlarda chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
ababababa 3 2 1 7 aba 1 5 c 2 1 7 aba |
3 1 |