A. Diagonallar soni
Xotira: 16 MB, Vaqt: 1000 msN Natural son berilgan. Sizning vazifangiz N ta tomonga ega bo’lgan qavariq ko’pburchakning diagonallar sonini topishdan iborat.
INPUT.TXT kirish faylida yagona son, kiritiladi.
OUTPUT.TXT chiqish faylida yagona son, masala javobini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 |
5 |
2 |
6 |
9 |
B. Sonni izlab top!
Xotira: 16 MB, Vaqt: 1000 msBu interaktiv masala!
Hakamlar hay’ati dasturi N(1 ≤ N ≤ 109) sonini o’ylaydi. Sizning dasturingiz ko’pi bilan 100 ta so’rovda hakamlar hay’ati dasturi o’ylagan sonni izlab topishi talab etiladi. Har bir so’ravda dasturingiz hakamlar hay’atining dasturiga X(-231 ≤ X < 231) sonini berganida hakamlar hay’atining dasturi sizga kirish oqimida har bir so’rov uchun alohida qatorda:
agar X > N bo’lsa ‘>’ belgisi, yoki
agar X < N bo’lsa ‘<’ belgisi, yoki
agar X = N bo’lsa ‘=’ belgisini kiritadi.
Kirish faylida sizning har bir so’rovingizda alohida qatorda hakamlar hay’atining dasturiga bergan X soningizga mos holda >, < yoki = belgilari berilgan.
Ko’pi bilan 100 ta so’rovda hakamlar hay’atining dasturi o’ylagan sonni izlab toping. Sizning oxirgi so’rovingiz hakamlar hay’atining o’ylagan soni deb qabul qilinadi!
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!
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
> < > = |
6 3 5 4 |
C. Rangli markerlar
Xotira: 16 MB, Vaqt: 1000 msSizga kvadrat katakchalardan iborat cheksiz jadval beriladi. Dastlab, barcha katak oq rangda.
Sizda qizil va ko'k marker bor. Siz jami a ta katakni qizil marker bilan, b ta katakni ko’k marker bilan bo'yashingiz mumkin. Bitta katakni bir vaqtda har ikkala rangda bo’yash mumkin emas. Ikkala markerni ham to’liq ishlatishingiz kerak, buning uchun jadvalda jami a ta katak qizil rangda, b ta katak ko’k rangda bo’lishi kerak.
Siz jadvalni quyidagi qonuniyat asosida bo’yashingiz kerak:
- Jadvalda yuzasi a + b ga teng bo’lgan, bo’yalgan to’rtburchak hosil bo’lishi kerak;
- kamida bitta rangdagi barcha kataklar ham to'rtburchak hosil qilsin .
To'g'ri bo’yashga ba'zi misollari:
Noto’g’ri bo’yashga ba’zi misollar:
Berilgan a va b dan foydalanib to’g’ri bo’yash hisoblanadigan to’rtburchaklar ichidan perimetri eng kichik bo’lgan to’rtburchakning perimetrini aniqlang.
Kirish faylining yagona satrida ikkita butun son, va , qizil va ko’k markerda bo’yalishi kerak bo’lgan kataklar soni kiritiladi.
Chiqish faylida yagona butun son, masala yechimini chop eting!
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
4 4 |
12 |
2 |
3 9 |
14 |
3 |
9 3 |
14 |
4 |
3 6 |
12 |
D. Analiz
Xotira: 16 MB, Vaqt: 3000 msInsertion sort algoritmi barchaga ma’lum. Shunday bo’lsada yanam bir bor eslatib o’tamiz:
n uzunlikdagi massivni kamaymaydigan tartibda saralash uchun:
- arr[1] dan arr[n] gacha barcha element birma-bir yurib chiqiladi;
- Joriy element o’zidan oldingilar bilan solishtiriladi;
- Joriy elementdan katta bo’lgan barcha elementlar bir pog’ona o’ngga suriladi, bo’sh qolgan joyga joriy element joylashtiriladi.
Misol uchun: 4 3 2 10 12 1 5 6 ketma-ketlikdagi massiv quyidagi ketma-ketlikda saralanadi:
Bu saralash algoritmida asosiy vaqt elementlarni surish uchun ketadi. Jami surishlar soni yuqoridagi jadvalda qizil rang bilan ko’rsatilgan kataklar soniga teng bo’lishi bizga ma’lum.
Siz n ta elementdan iborat arr massivi uchun Insertion sort algoritmi necha marotaba surish amalini ishlatishini aniqlang.
Kirish faylining dastlabki satrida bitta butun son, testlar soni kiritiladi. Ikkinchi satrdan boshlab, har bir test uchun alohida ikkita satrning birinchi satrida , massiv elementlari soni, ikkinchi satrida n ta butun son, massiv elementlari kiritiladi.
Har bir test uchun alohida satrda bitta butun son, masala yechimini chop eting
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 8 4 3 2 10 12 1 5 6 5 1 1 1 2 2 5 2 1 3 1 2 |
12 0 4 |
E. Palindrom
Xotira: 64 MB, Vaqt: 2000 msSizda a va b satrlari bor, siz quyidagi shartlarni qanoatlantiradigan s satrni topishingiz kerak:
- s ni s = shaklida yozib bo’lsin. Bu yerda a satrning bo’sh bo’lmagan qism satri ekanligini bildiradi, b satrning bo’sh bo’lmagan qism satri ekanligini bildiradi.
- s palindrom satr bo’lsin.
- s satr bo’lishi mumkin bo’lgan satrlar ichida eng uzuni, eng uzunlar ichida esa leksikografik eng kichigi bo’lsin.
Kirish faylining dastlabki satrida bitta butun son, , so’rovlar soni kiritiladi. Keyingi satrdan boshlab har bir so’rov uchun alohida ikkita qatorda va satrlari kiritiladi.
va satrlari ingliz alifbosining kichik harflaridan tashkil topgan.
Barcha so’rovlardagi lar yig’indisi dan oshmaydi.
Barcha so’rovlardagi lar yig’indisi dan oshmaydi.
Chiqish faylida har bir test uchun alohida qatorda, agar yuqoridagi shartlarni qanoatlantiradigan s satri mavjud bo’lsa s satrini chop eting, aks holda -1 sonini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 bac bac abc def jdfh fds |
aba -1 dfhfd |