A. Hello, Hi!
Xotira: 16 MB, Vaqt: 1000 msAzimjon o'zining birinchi ″Hello, Hi!″ nomli Telegram botini yaratdi. Bot juda oddiy ishlardi. Unga birinchi marta xabar yuborsangiz ″Hello″, ikkinchi marta xabar yuborsangiz ″Hi!″ degan javob qaytaradi. Uchinchi marta yozsangiz yana ″Hello″, keyingi xabarga yana ″Hi!″ debi javob qaytaradi. Xullas bot qanday ishlashini tushundingiz deb o'ylayman.
Sizdan ham shunga o'xshash dastur tuzishingiz so'raladi. Dasturingizni bir marta ishga tushunganingizda ″Hello″, ikkinchi bor ishga tushursangiz ″Hi!″ so'zi ekranga chiqsin. Keyingisida ″Hello″, keyingisida ″Hi!″, va hokazo.
Ixtiyoriy satr yoki matn kitiladi.
Unga mos javob chop etilsin.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
/start |
Hello |
2 |
Salom |
Hi! |
3 |
Bu bot kimniki? |
Hello |
4 |
Bu masala kimniki??? |
Hi! |
B. Homework
Xotira: 16 MB, Vaqt: 1000 msZilola ingliz tili to'garagiga qatnaydi. Ular to'garakda shu oy ichida ko'proq ″Reading ″ mashq qilishmoqda. Shuning uchun ustozi har kuni o'quvchilarga har xil matn berib tushunib tarjima qilib kelishni topshirmoqda. Zilola matnni tarjima qilayotganida notanish so'z uchrab qolsa tagiga chizib qo'yardi. Va ushbu kunlik lug'atni alifbo tartibi bo'yicha saralab lug'at daftariga yozib qo'yardi. Agar ushbu notanish so'zlar ichida oldin ham lug'at daftariga yozganlari bo'lsa uni yozmas edi. Uning bir oy davomida har kungi yozgan so'zlarini (\(i\)- test uchun faqat shu kundagi) va shu so'zlardan keyin endi daftarida jami nechta so'z borligini chop eting.
Sizga faqat tagiga chizilgan so'zlar ko'rinadigan qilib matn beriladi.
ushbu so'zlar soni \(1500\) dan oshmaydi.
Barchasi kichik harflarda beriladi.
\(i- \text {kundagi matn}\ i-\text{testda beriladi}\).
Masala javobini chop eting.
Eslatma :
1. Takrorlangan so'zlardan faqat bitta olinadi
2. \(i-\) kundagi biror so'z oldingi kunlardagi biror lug'atda mavjud bo'lsa, bu so'z yozilmaydi.
1-testdagi asl matn
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
little hood big wolf believing little hood little latch little hood door |
believing big door hood latch little wolf 7 |
2 |
mouth hair eye nose tooth teeth ear lip little necklace shoulder nail thumb finger hand arm leg |
arm ear eye finger hair hand leg lip mouth nail necklace nose shoulder teeth thumb tooth 23 |
C. Parol
Xotira: 16 MB, Vaqt: 1000 msIbrohim yangi kompyuter sotib oldi. Endi u bemalol dasturlashni o'rganishi mumkin. Lekin uning ukasi Husniddin har safar kompyuterda o'yin o'ynab quvvatini tugatib qo'yaveradi. Shuning uchun Ibrohim kompyuteriga parol qo'yib qo'ydi. Lekin Husniddin ham osonlikcha taslim bo'ladiganlardan emas. U akasi qo'yishi mumkin bo'lgan parollarni terib topishga harakat qiladi. Buning uchun unda ko'pi bilan \(k\) ta imkoniyat mavjud (Buni Ibrohim parol qo'yayotgan vaqtida o'zgartirishi mumkin). Agar Husniddin komputer parolini to'g'ri topsa yoki \(k\) marta urinishda ham topa olmasa, Ibrohim buni bilib qoladi va parolni yangilaydi (\(k\) ni ham).
Ibrohim parolni yangilayotgan paytida \(S\) satr va keyingi qatorda \(k(1\le k \le 15)\) kiritiladi.
Boshqa payt \(s\) satr Husniddinning taxminiy paroli kiritiladi. Har bir taxminiy parol alohida testlarda kiritiladi.
Agar Ibrohim parolni yangilayotgan bo'lsa ″Parol yangilandi!
″ deb chiqarilsin.
Agar Husniddin \(k\) ta urinishlardan birida parolni to'g'ri topsa ″Xush kelibsiz
″, \(k\)- urinishda ham parolni noto'g'ri tersa ″Juda ko'p muvaffaqiyatsiz urinish qildingiz, 5 daqiqa kuting
″ deb chiqarilsin. (Bu ikki holatdan keyin parol yangilanadi).
Boshqa barcha urinishlarda ″Parol xato, Qayta urunib ko'ring
″ deb chiqarilsin.
Ibrohim kompyuterini barmoq izi bilan ham ocha oladi. Shuning uchun u blokdan ochish uchun parol terib o'tirmaydi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
qwerty 5 |
Parol yangilandi! |
2 |
abcd |
Parol xato, Qayta urunib ko'ring |
3 |
qwerty |
Xush kelibsiz |
4 |
Ibrohim 4 |
Parol yangilandi! |
5 |
qwerty |
Parol xato, Qayta urunib ko'ring |
6 |
abcd |
Parol xato, Qayta urunib ko'ring |
7 |
943211422 |
Parol xato, Qayta urunib ko'ring |
8 |
12345 |
Juda ko'p muvaffaqiyatsiz urinish qildingiz, 5 daqiqa kuting |
9 |
Ibro Him 3 |
Parol yangilandi! |
10 |
ibro him |
Parol xato, Qayta urunib ko'ring |
D. Spell
Xotira: 16 MB, Vaqt: 1000 msAhmadjon 2-sinfda o'qiydi. U yaqinda Ingliz tili to'garagiga bora boshladi. Lekin ingliz tilini o'rganish unga biroz qiyinlik qilmoqda. Sababi ingliz tilidagi harflar juda g'alati talaffuz qilinar ekan. Kitoblarda berilgan talaffuz matnlariga esa umuman tushunib bo'lmaydi. Ahmadjon esa keyingi darsgacha barcha harflarning inglizcha talaffuzini o'rganib olishi kerak. Chunki keyingi darsda inglizcha so'zlarni SPELLING ( harfma-harf aytish) qilishni o'rganishar ekan. Ahmadjonning baxtiga uning akasi Baxtiyor ingliz tilini yaxshi bilar edi. U Ahmadjonga ingliz tilidagi barcha harflar talaffuzini ″o'zbekcha″siga yozib berdi.
- a - ey
- b - bi
- c - si
- d - di
- e - i
- f - ef
- g - ji
- h - eych
- i - ay
- j - jey
- k - key
- l - el
- m - em
- n - en
- o - ov
- p - pi
- q - kyu
- r - ar
- s - es
- t - ti
- u - yu
- v - vi
- w - dablyu
- x - iks
- y - vay
- z - zed
Baxtiyor til bilishidan tashqari dasturlashni ham yaxshi biladi. Ukasiga bergan bu yordamidan keyin Baxtiyorda ajoyib bir dastur tuzish g'oyasi paydo bo'ldi.
U biror \(S\) satrni kiritganidan so'ng, dasturni har ishga tushirganda \(S\) ning bittadan harfini navbatma-navbat spelling qilib chiqarmoqchi. Biroq dastur u o'ylaganidan biroz murakkabroq chiqib qoldi. Unga yordam bering.
Dastlab ingliz tili alifbosing kichik harflaridan tuzilgan \(S(1\le |S| \le12)\) satr kiritladi .
keyingi \(|S| - 1\) ta testda \(NEXT\) so'zi kiritiladi (satr to'liq spelling bo'lguncha)
Har bir \(|S|\) ta testda \(S\) ni spelling qilib chiqaring. Misollarga qarang!
spelling - imlo
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
hi |
h - eych |
2 |
NEXT |
i - ay |
3 |
world |
w - dablyu |
4 |
NEXT |
o - ov |
5 |
NEXT |
r - ar |
6 |
NEXT |
l - el |
7 |
NEXT |
d - di |
E. Noodatiy dastur #2
Xotira: 16 MB, Vaqt: 1000 msQulmamatning ushbu ″karomat″idan keyin Hasan va Husan ham dasturlashga qiziqib qolishdi va dasturlash kurslariga qatnay boshlashdi. Hozir ular ham ancha-muncha kod yoza oladigan bo'lishdi. Bir kuni ular Qulmamat bilan birga o'tirib, dasturlashga qiziqishlariga sabab bo'lgan o'sha dasturni yana ko'rmoqchi bo'lishdi. Ular qarasaki Qulmamatning bu dasturi har doim ham to'g'ri ishlamas ekan. Bundan Qulmamat biroz xijolat bo'ldi. Keyin uchovlon shunga o'xshash dastur tuzishga kirishishdi. Dastur quyidagicha:
- Dasturni kim ishga tushursa shu odamning ismi ekranga chiqishi kerak.
- Dasturni avval Qulmamat, keyin Hasan, keyin Husan ishga tushurishadi.
- Ular dasturni avval \(1\) martadan , keyin \(2\) martadan, keyingisida \(3\) martadan va hokazo martadan ketma-ket ishga tushurishadi. (Navbat tartibi saqlanadi).
- Bu ishni ular dastur to'g'ri ishlayotganiga to'liq ishonch hosil qilguncha bajaraverishadi.
Sizning vazifangiz ushbu dasturni ulardan oldinroq tuzish.
Har bir test uchun ? belgisi kiritiladi.
Har bir test uchun mos ismlarni chop eting.
.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
? |
Qulmamat |
2 |
? |
Hasan |
3 |
? |
Husan |
4 |
? |
Qulmamat |
5 |
? |
Qulmamat |
6 |
? |
Hasan |
7 |
? |
Hasan |
8 |
? |
Husan |
9 |
? |
Husan |
F. Baxtingdan ko'r yoki "Qo'rqinchli" biletlar
Xotira: 16 MB, Vaqt: 1000 msIngliz tili darsida sessiyasidan oldinroq professor- o'qituvchi imtihonni qay tartibda olishini tushuntirdi. Ushbu yo'nlishda 200 ta talaba tahsil oladi. Shunga ko'ra imtihon quyidagi shartlar asosida olinishi ma'lum bo'ldi:
- Imtihonda 200 ta bilet mavjud.
- Har bir biletda bittadan inglizcha so'z yozilgan.
- \(i\)-biletni tortgan talaba \(i\) ga bo'linadigan sonlar bilan raqamlangan barcha biletlardagi so'zlarni qatnashtirib \(5\) ta mazmunli gap tuzib berishi kerak.
Baho gaplarning mazmuniga qarab qo'yilishi ma'lum qilindi.
Bu o'ta ketgan adolatsizlik bo'lsada qattiqqo'l o'qituvchiga hech kim gapirolmadi.
Siz imtihon topshirig'ingiz esa, har bir talaba bilet tortgandan keyin qaysi so'zlarni qatnashtirib gap tuzishi kerakligini aniqlash.
\(i\)-biletdagi so'z, \(i\)-testda beriladi.
Mos ravishda \(i\)-testda \(i\) -biletni tortgan talaba tuzadigan gapida qatnashtirishi kerak bo'lgan so'zlarni bilet raqamining o'sib borish tartibida alohida satrlarda chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
tomorrow |
tomorrow |
2 |
future |
tomorrow future |
3 |
honey |
tomorrow honey |
4 |
red |
tomorrow future red |
5 |
year |
tomorrow year |
6 |
sea |
tomorrow future honey sea |