A. Dasturchilar kuni #1

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Dasturchilar kuni munosabati bilan prezident maktabida bayram tashkillashtirildi va bayram nishonlanadigan joyga kafel yotqizishga qaror qilishdi. Maydon o'lchami n x m va kafel o'lchami esa a x a. Maydonni qoplash uchun nechta kafel kerak bo'lishini chop eting.

Kiruvchi ma'lumotlar:

Bir qatorda n m a natural sonlari  kiritiladi.

Chiquvchi ma'lumotlar:

Agarda kafellarni umuman qirqmasdan maydonni to'liq qoplashni iloji bo'lsa Yes va nechta kafel sarflangani aks xolsa No va qancha maydon ortib qolgani.

Izoh:

Kafellarni qirqish mumkin emas deb hisoblansin.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
4 8 4
Yes 2
2
2 18 4
No 36

B. Olimpiada #1

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Informatikadan Olimpiada bolayotgan edi. Shohruzbek hozircha 2-o'rinda ketyapti ammo u 1 bo'lmoqchi. u 1-orindagi ishtirokchidan ancha orqada olimpiada tugashiga esa sanoqli daqiqalar qolmoqda. Agarda Shohruzbek eng oxirgi masalani ishlay olsagina 1-o'ringa chiqishi mumkim ammo u bunga qiynalyapti va sizdan yordam so'radi unga 1-o'rin bolishiga yordam berib yuborishingiz kerak. Masala sharti quyidagicha: 

Sizga N soni beriladi siz shunday A massivni ekranga chiqarishingiz kerakki 2**ai lari yigindisi N ga teng bolsin lekin massiv elementlari takrorlanmasin.

Kiruvchi ma'lumotlar:

N nomanfiy butun son kiritiladi.

Chiquvchi ma'lumotlar:

So'ralgan massivni elementlarini o'sish tartibida chop eting agar iloji bolmasa -1 ni chop eting.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
10
1 3
2
24
3 4

C. Pianina

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Olim pianina chalishni yaxshi ko'radi. U bugun pianina chalmoqchi va uning pianinasi 100 ta klavishdan iborat. Sizga A massivda u bosishi kerak bolgan klavishlar berilgan. ular turgan joy quyidagicha tushuntirilgan:
masalan L50 degani chapdan 50 chi klavish R50 esa o'ngdan 50-klavish degan manoni bildiradi. u 2 qo'lida chaladi o'ng tarafga yaqinroq klavishlarni o'ng qo'lida chap tarafga yaqinroq klavishlarni esa chap qo'lida chaladi.

U birinchi barmoqlarini eng birinchi bosadigan klavishiga togirlab oladi shuning uchun boshida energiya ketmaydi keyingi harakatlarda u bosgan kavish va endi bosadigan klavish orasidagi masofagacha energiya sarflaydi.

ushbu masalada sizning vazifangiz Olim minimum necha energiya bilan pianinani chalib bo'lishini aniqlash.

Kiruvchi ma'lumotlar:

Kirish faylida A massivi.

Chiquvchi ma'lumotlar:

Masala javobini chop eting.

Izoh:

masalan A=[L23,R35,R49,L12,L38] bo'lsa:

o'ng tarafdan bosadigan klavishlarini korib chiqsak:

R35 R49 lar ong tarafdan bosiladi. ong tarafda sarflanadigan energiya 49-35=14 ga teng 

chap tarafdan bosadigan klavishlar:

L23 L12 L38 bu xolatda minimum energiya sarflash uchun biz eng yaqinidan boshlaymiz bu ham bolsa L12:

L12 dan L23 ga L23 dan L38 ga o'tamiz va sarflanadigan energiya 23-12+38-23=26

endi umumiy energiya = 26+14=40 demak javob 40


Eslatma! R23 ni L78 deb olsa ham boladi chunki o'ngdan 23 chi klavishni chapdan 78 chi deb olsak ham boladi baribir ikkalasi ham bir manzilni bildiradi.

Misollar:
# INPUT.TXT OUTPUT.TXT
1
L23 R35 R49 L12 L38
40
2
L10 R28
0

D. Shifrlash

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Bilasiz qadim zamonlarda telefon bolmagan va bir biriga xabarni elchidan yuborishgan. Bir kuni bir Podshox sizga elchidan xat yubordi va elchi kimdirning qo'liga tushub qolsa xatdagi gaplar o'qib qolishlari mumkin edi shunga u yozgan gaplarini shifrlagan edi sizga xat yetib keldi ammo endi siz uni shifrdan ochishiz kerak Sizga quyidagilar malum:
B=13
E=3

S=5

O=0

I=1
ushbu shifrlash uslubidan foydalanib matnni deshifrlang

Kiruvchi ma'lumotlar:

S satri kiritiladi

Chiquvchi ma'lumotlar:

Masala javobini chop eting

Izoh:

Kodda replace, index, find, rfind, rindex , split, count va join funksiyasidan foydalanish taqiqlanadi

Misollar:
# INPUT.TXT OUTPUT.TXT
1
131TC01N
BITCOIN
2
A51L 130T
ASIL BOT

E. Base64

Xotira: 32 MB, Vaqt: 1000 ms
Masala

Ushbu masalada siz berilgan satrni base64 tizimida kodlashingiz kerak. 

Agarda siz base64 qanday ishlashini bilmasangiz quyidagi qo'llanma orqali o'rganishingiz mumkin:

Base64 kodlash tizimi quyidagicha ishlaydi:

  1. Siz berilgan satrdagi har bir shifrni ascii dagi o'rnini topib olasiz (Masalan “Robocontest”[82, 111, 98, 111, 99, 111, 110, 116, 101, 115, 116])
  2. Shundan keyin to'plamdagi har bir sonni binary tizimiga ya'ni ikkilik sanoq sistemasiga 8 talik qilib o'tkazishingiz kerak agar binary sonning o'lchami 8 ga yetmasa uning oldiga 0 larni qo'yib 8 ta qilib olasiz (Masalan bin(82) → 1010010 ushbu 2 lik sanoq sistemasidagi son 7 ta raqamdan tashkil topgani uchun oldiga 1 ta 0 qo'yib 8 ta qilib olamiz: 101001001010010. Natijada butun to'plam 0101001001101111011000100110111101100011011011110110111001110100011001010111001101110100 holatiga keladi
  3. Keyingi navbatda biz bu 1 va 0 lardan tashkil topgan satrni 6 tadan qilib bo'lib chiqamiz agar satrning o'lchami 6 ga bo'linmasa satrning ortiga 6 ga bo'linguncha 0 larni qo'shamiz (Masalan, satr 01010010 bo'lsa, ortiga 4 ta 0 qo'yamiz va 010100100000 ni hosil qilamiz va uni 6 tadan 2 ta bo'lakka 010100 va 100000 qilib bo'lamiz. Bu usul bilan yuqoridagi satrni ['010100', '100110', '111101', '100010', '011011', '110110', '001101', '101111', '011011', '100111', '010001', '100101', '011100', '110111', '010000'] shakliga keltiramiz)
  4. Endi siz yuqoridagi to'plamni har bir qiymatini 10lik sanoq sistemasiga o'tkazasiz (Natijada yuqoridagi to'plam [20, 38, 61, 34, 27, 54, 13, 47, 27, 39, 17, 37, 28, 55, 16] holatiga keladi)
  5. Bu bosqichda siz Base64 index table dan foydalanasiz ya'ni yuqoridagi to'plamdagi har bir sonni quyidagi lug'at yordamida qayta satrga o'tkazasiz:

    Natijada Um9ib2NvbnRlc3Q satri kelib chiqadi

  6. Oxirgi bosqich eng osoni. Har bir base64 tizimidagi satrning o'lchami 4 ga karrali bo'ladi, agar so'nggi natijaning o'lchami 4 ga karrali bo'lmasa u 4 ga karrali bo'lguncha oxiriga = belgisi qo'yiladi (Masalan Um9ib2NvbnRlc3QUm9ib2NvbnRlc3Q=)
  7. Bo'ldi masala ishlandi endi sizning vazifangiz faqatgina yuqoridagi dostonni kompyuter tushunadigan tilga o'girish.
Kiruvchi ma'lumotlar:

1 qatorda satr

Chiquvchi ma'lumotlar:

Masala javobi

Izoh:

Qo'llanmani birma bir qo'lda yozib chiqdim agar imloviy yoki texnik xatoliklar yuzaga kelgan bo'lsa let me know.
Tayyor kutubxonalardan foydalanmang. O'zingiz ishlang!

Misollar:
# INPUT.TXT OUTPUT.TXT
1
Robocontest
Um9ib2NvbnRlc3Q=
2
Logic Contest
TG9naWMgQ29udGVzdA==
Kitob yaratilingan sana: 24-Nov-24 04:45