A. Unlilar
Xotira: 32 MB, Vaqt: 1000 ms(Stringning erase metodidan foydalaning)
Sizga kichik lotin harflaridan iborat satr beriladi. Siz quyidagi qoidalarga binoan satrni o‘zgartirishingiz kerak:
- Har bir unli harf (
a
,e
,i
,o
,u
) o‘z o‘rnida keyingi unlini almashtiradi. - Agar bu unli oxirgi unli bo‘lsa — u butunlay o‘chiriladi.
- Boshqa barcha belgilar o‘z joyida qoladi.
Bitta qatorda matn beriladi.
Bitta qatorda masalani javobini chiqaring.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
beautiful |
bauitufl |
B. Shakl yasash
Xotira: 32 MB, Vaqt: 1000 msJasur dasturlashni endigina o‘rganayotgan maktab o‘quvchisi. U so‘nggi darslarda string mavzusini o‘zlashtirib, ayniqsa erase() funksiyasi bilan qiziqib qoldi. O‘qituvchisi unga mashq sifatida n × n o‘lchamdagi kvadrat matndan ma’lum bir shaklni ajratib olish vazifasini berdi.
Matn turli belgilar bilan to‘ldirilgan bo‘lsa-da, u yerda yashiringan bitta aniq shakl mavjud. Shakl — matnda eng ko‘p uchragan bitta belgidan tashkil topgan bo‘lib, qolgan belgilar keraksiz hisoblanadi.
Sizning vazifangiz — Jasurga yordam berib, ushbu shaklni ajratib olish. Buning uchun faqat kerakli belgilarni matnda qoldirib, qolgan belgilarni erase() funksiyasi yordamida olib tashlang. Har bir qatorda faqat kerakli belgilar qolishi kerak, boshqa belgilar yo‘q qilinadi. Agar qatorda kerakli belgi bo‘lmasa, satr butunlay bo‘sh bo‘lishi kerak.
Birinchi qatorda bitta butun son n (3 ≤ n ≤ 100) — kvadrat matnning o‘lchami.
Keyingi n qatorda har birida n ta belgidan iborat matn beriladi.
Chiqishda n
ta qatordan iborat matn chiqaring. Agar qatorda kerakli belgi yo‘q bo‘lsa, satr butunlay bo‘sh bo‘lishi kerak.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
4 ab*c a*c* **** *acb |
* ** **** * |
C. Kerakli so'zlar
Xotira: 32 MB, Vaqt: 1000 ms(Masalada find, rfind, substr kabi algorithmlardan foydalaning)
Sizga bir dona matn (satr) beriladi. Ushbu matn ichida ba’zi so‘zlar shifrlangan bo‘lib, ular << va >> belgilar orasida yashiringan.
Sizning vazifangiz — ushbu matndan faqat to‘liq << va >> juftliklari orasida joylashgan yashirin so‘zlarni ajratib olib, har birini yangi qatordan chiqaring.
Bir qatorda s(1<=s<=1000000) satr
Shartga ko’ra so’ralgan natijani chiqaring. agar bunday natija topilmasa -1 chiqaring.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
adnjaufduifb <<asdhaadia>> adoadh |
asdhaadia |
2 |
qwie0qw9e <<adijidj<<dsaijd>>dajsdi ASdioijd <<asdjias>> |
dsaijd asdjias |
D. Sub Palindrom
Xotira: 32 MB, Vaqt: 1000 msSizga faqat a va b harflaridan tashkil topgan satr beriladi. Sizning vazifangiz — ushbu satr ichida joylashgan eng uzun palindrom bo‘lgan bo‘lakchani (substring) topish.
“Palindrom — chapdan o‘qiganda ham, o‘ngdan o‘qiganda ham bir xil bo‘lgan satr.
Masalan: "abba", "a", "babab" — palindrom, "ab", "baabx" — emas.”
Bitta satr s
, uzunligi 1 ≤ |s| ≤ 1000
.
Satr faqat a
va b
harflaridan iborat bo‘ladi.
Eng uzun palindrom substring (bir nechta bo‘lsa — birinchi uchragani).
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
abab |
aba |
E. Palindromlikni yo‘qotish!
Xotira: 32 MB, Vaqt: 1000 msSizga faqat a va b harflaridan tashkil topgan satr beriladi. Sizning vazifangiz — ushbu satrga faqat a yoki b harflarini istalgan pozitsiyaga qo‘shish orqali, shunday yangi satr hosil qilish kerakki, uning hech qanday bo‘lagi (substringi) palindrom bo‘lmasin.
Palindrom deb orqadan o‘qilganda ham aynan o‘ziga teng bo‘lgan bo‘lakchaga aytiladi. Masalan: a, aa, aba, bab palindromlar hisoblanadi.
Siz satrga istalgan pozitsiyaga a yoki b harflarini qo‘shishingiz mumkin. Biroq, faqat a yoki b qo‘shishga ruxsat beriladi — boshqa harf yo‘q.
Sizdan quyidagilar talab qilinadi:
Eng kam qo‘shishlar soni bilan palindrom substringlar bo‘lmagan yangi satr hosil qiling va uni chiqaring!
Yagona satr s
(1 ≤ |s| ≤ 1000
) — faqat a
va b
harflaridan iborat.
Palindrom substringlari yo‘q qilinganidan keyingi yangi satr. Agar imkoni bo'lmasa -1 chiqaring.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
a |
ab |
2 |
ababababababababbbbababababababababababaabababa |
-1 |
F. Eng birinchi noyob substring topish!
Xotira: 32 MB, Vaqt: 1000 msSizga bitta satr s va butun son k beriladi. Sizning vazifangiz — ushbu satr ichidan uzunligi k bo‘lgan birinchi takrorlanmagan (noyob) substringni topish.
Ya’ni, s satridagi har bir ketma-ket k ta belgidan tashkil topgan substringlarni tekshirib chiqing va ularning ichida faqat bir marta uchraydigan eng birinchisini aniqlang.
Agar hech qanday noyob substring mavjud bo‘lmasa, "Not found" so‘zini chiqaring.
Bitta satr s
(1 ≤ |s| ≤ 10^4
) — kichik lotin harflaridan iborat.
Bitta butun son k
(1 ≤ k ≤ |s|
)
Shartga ko’ra so’ralgan natijani chiqaring
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
abcabcbb 3 |
bca |
G. so‘zlarni ag'darib yozish
Xotira: 32 MB, Vaqt: 1000 msSizga lotin harflari, bo‘sh joylar, tinish belgilaridan tashkil topgan bitta matnli satr beriladi. Matn ichida bir yoki bir nechta qavslar bo‘lishi mumkin. Har bir qavs juft bo‘lib, ochuvchi qavs ( va yopuvchi qavs ) dan tashkil topgan.
Sizning vazifangiz — ushbu satrni tahlil qilib, har bir ( ) ichidagi so‘zlarni teskari qilib yozish. Qavslar esa yakuniy natijada chiqmasligi kerak.
Matn kichik va katta lotin harflari, raqamlar, bo‘sh joy, tinish belgilaridan iborat bo‘ladi. Har qanday ( )
qavslar har doim juft bo‘ladi va to‘g‘ri joylashgan bo‘ladi ((
har doim )
dan oldin keladi).
Matnni shartda aytilgan qismini o’zgartirib , qolgan qismlarni o’zgarishsiz to’liq chiqaring
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
dajhshwf (dhashdas) |
dajhshwf sadhsahd |
H. sana
Xotira: 32 MB, Vaqt: 1000 msYYYYMMDD — ishlab chiqarilgan sana (masalan, 20250704 — 2025 yil 4 iyul), YYYY - 0001 dan 2025 gacha MM - 01 dan 12 gacha, DD esa 01 dan 30 gacha bo'lsa to'gri sana hisoblanadi.
Sizga bitta sana beriladi. Siz uni string funksiyalaridan foydalanib quyidagi formatda chiqaring:
YYYY-MM-DD
Agar sana yiqoridagi formatda bo'lmasa, yoki notog'ri bo'lsa "Invalid serial" deb chiqaring.
Bitta qatorda sana kiritiladi.
Bitta qatorda masalaning javobi chiqariladi
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
19960806 |
1996-08-06 |
2 |
1996806 |
Invalid serial |