A. Increment decrement
Xotira: 10 MB, Vaqt: 1000 msC++ dasturlash tilida increment va decrement amallarini bajarilish tartibini bilsangiz kerak, agar bilmasangiz wikipediadan bilib olishingiz mumkun. Sizga \(X\) o'zgaruvchisiga nisbatan \(N\) marotaba bu ikki amaldan birini qo'llash tartibi beriladi. Sizning vazifangiz \(X\) ning oxirgi natijasini aniqlashdan iborat. Dastlab \(X\) ning qiymati \(0\) ga teng.
Kirish faylining dastlabki satrida \(N(1\leq N\leq 100)\) soni. Keyingi \(N\) ta satrda "X++", "X--", "++X", "--X" lardan biri.
Yagona qatorda masalaning javobini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 ++X |
1 |
2 |
2 X++ --X |
0 |
B. MMORPG GAME | LEVEL #1
Xotira: 10 MB, Vaqt: 1000 msSardor ko'p vaqtini MMORPG GAME darajasidagi o'yinlarni o'ynash bilan o'tkazadi. U o'ynaydigan o'yinda keyingi level ga o'tish uchun u \(N\) ta ajdarni mag'lubiyatga uchratishi kerak bo'ladi. Sardor hozir LEVEL 1 da, Sardor va ajdarlarning kuchlilik darajalari butun sonlar bilan ifodalanadi. Sardorning kuchlilik darajasi ajdarning kuchlilik darajasidan katta bo'lsa Sardor g'alaba qozonadi. Dastlab Sardorning kuchi \(S\) ga teng.
Agar Sardor \(i-\) ajdar \((1\leq i\leq N)\) bilan janga kirsa va bu ajdarning \(x_i\) kuchidan uning kuchi katta bo'lmasa mag'lubiyatga uchraydi, aks holda g'alaba qozonadi va \(y_i\) bonusga ega bo'ladi.
Sardor istalgan ajdar bilan jang qilishi mumkun. Sizning vazifangiz Sardor o'yinning keyingi leveliga o'tib biladimi yo'qmi aniqlashdan iborat.
Birinchi satrda bo'sh joy bilan ajratilgan ikkita \(S,N(1\leq S,N\leq 5000)\) son mos ravishda Sardorning kuchlilik darajasi va jami ajdarlar soni. Keyingi \(N\) ta satrda \(x,y(0\leq x,y\leq 10^4)\) butun sonlar mos ravishda ajdarning kuchlilik darajasi va ajdar ustidan g'alaba qozonilgandan so'ng beriladigan bonus.
Chiqish faylida agar Sardor keyingi levelga o'tib bilsa, "YES", aks holda "NO" so'zini chop eting.
\(1-\)testda Sardorning kuchi dastlab \(2\) ga teng. Birinchi ajdarning kuchi \(2\) dan kichik bo'lgani uchun, Sardor ajdarni mag'lubiyatga uchratadi va bonusga ega bo'ladi va uning kuchi \(2+99=101\) ga ko'tariladi. Endi u ikkinchi ajdarni mag'lubiyatga uchratib keyingi levelga o'tishi mumkin.
\(2-\)testda Sardorning kuchi yagona ajdar kuchidan kichik bo'lganligi uchun jangda mag'lubiyatga uchraydi va u keyingi levelga o'tib bilmaydi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 2 1 99 100 0 |
YES |
2 |
10 1 100 100 |
NO |
C. Karta o'yini
Xotira: 10 MB, Vaqt: 1000 ms\(Bur\)-\(kaz-\)bu o'yinni ikki kishi jami \(36\) ta turli xil kartalar bilan o'ynaydi.
Kartalar to'rt turga bo'linadi 'S', 'H', 'D' va 'C' ga(karta qaysi turga mansubligi). Kartalarni qiymatlari ham mavjud bular(o'sish tartibida) '6', '7', '8', '9', 'T', 'J', 'Q', 'K' va 'A'.
Dastlab o'yinda yerga zot karta sifatida istalgan bir turga tegishli karta ochiladi. Misol uchun 6S ochilgan bo'lsa barcha S turga tegishli kartalar zot hisoblanadi va qolgan uch turga tegishli kartalarning istalgan biridan S turga mansub karta katta hisoblanadi(agar turi bo'yicha teng bo'lsa qiymati bo'yicha solishtiriladi QS>JS, 8S>9H). Agar ikkala o'yinchining kartasi ham zot turiga mansub bo'lmasa va ularning kartalari turlari ham ikki xil bo'lsa \(1-\)o'yinchining kartasi katta hisoblanadi.
O'yin boshlanganda ikki o'yinchidan biri o'zidagi kartalardan birini yerga tashlaydi va ikkinchi o'yinchi o'zidagi kartalardan raqibi tashlagan kartadan kattaroq bo'lgan kartani tashlab yerdagi 2 ta kartani oladi va o'ziga achko yig'ib boradi.
Sizning vazifangiz \(1-\)o'yinchi tashlagan kartadan \(2-\)o'yinchining tashlagan kartasi kattami tekshirish.
Kirish faylining dastlabki satrida 'S', 'H', 'D' yoki 'C' yerga ochilgan zot qaysi turga mansubligi. Ikkinchi satrda \(1-\)o'yinchi va \(2-\)o'yinchi tashlagan kartalar probel bilan ajratilgan holda beriladi.
Agar \(2-\)o'yinchi raqibining kartasidan katta karta tashlagan bo'lsa "YES", aks holda "NO" so'zini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
H KS KH |
YES |
2 |
S 6H 9H |
YES |
3 |
C 9S TH |
NO |
D. Qulupnayli tort
Xotira: 10 MB, Vaqt: 1000 msMalikaning tug'ilgan kuniga akasi \(n\times m\) o'lchamli tort olib keldi. Tortning ba'zi \(1\times 1\) katakchalari qizil qulupnay bilan bezatilgan edi. Misol uchun \(3\times 4\) o'lchamli tort rasimda tasvirlangan.
Malika bu tortni yeyishni istaydi! U \(1\times m\) yoki \(n\times 1\) o'lchamda kesib olmoqchi, ammo bu kesilgan qismida qulupnay bo'lishini istamaydi. Malika bunday o'lchamlarda tortni qirqib olib yeyishi mumkin bo'lsa, maksimal \(1\times 1\) o'lchamdagi tort bo'lakchalaridan nechtasini yeyishi mumkin bo'ladi.
Kirish faylining dastlabki satrida \(n,m(1\leq n,m\leq50)\) tort o'lchami. Keyingi \(n\) ta satrda \(m\) tadan belgi tortni ifodalaydi.
- '.' \(-\) nuqta qulupnay yo'q katakchani ifodalaydi;
- 'X' \(-\) harf qulupnay bor katakchani ifodalaydi;
Malika yeyishi mumkin bo'lgan maksimal \(1\times 1\) tort bo'lakchalari sonini chop eting.
\(1-\) testda Malika jami \(3\) xil usulda o'zi xohlagan o'lchamdagi tort bo'lagini kesib olishi mumkin (jami \(8\) ta \(1\times 1\) o'lchamli bo'lakchalarini yeyishi mumkin).
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 4 X... .... ..X. |
8 |
E. QR-kod
Xotira: 10 MB, Vaqt: 1000 msKirish faylida ikkita \(x,y(0\leq x,y\leq28)\) butun son.
Yagona qatorda masalaning javobini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
0 1 |
1 |
2 |
4 4 |
1 |
3 |
4 8 |
0 |
F. MMORPG GAME | LEVEL #2
Xotira: 10 MB, Vaqt: 1000 msSardor ko'p vaqtini MMORPG GAME darajasidagi o'yinlarni o'ynash bilan o'tkazadi. U hozirda LEVEL 2 da o'ynashni davom etirmoqda. Endi Sardor level 2 da boshlari soni bir nechta bo'lgan ajdarlar bilan jang qilishi kerak. Sardor janga kirishidan oldin ajdarlarni umumiy kuchlilik darajasini aniqlamoqchi. Har bir ajdarning kuchi boshlari soniga teng, umumiy ajdarlarning kuchi esa barcha ajdarlarning boshlari sonlari ko'paytmasiga teng. Misol: \(3\) ta ajdar bo'lsa boshlari mos ravishda \(2,3,5\) teng bo'lsa ajdarlarning umumiy kuchi \(2*3*5=30\) ga teng. Sizga barcha ajdarlarning boshlari soni(yig'indisi) berilsa umumiy ajdarlarning kuchlilik darajasi bo'lishi mumkun bo'lgan maksimal qiymatini aniqlang.
Kirish faylida yagona \(N(1\leq N\leq 100)\) natural soni barcha ajdarlarning boshlari soni.
Chiqish faylida bo'lishi mumkun bo'lgan maksimal ajdarlarning umumiy kuchlilik darajasini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
1 |
1 |
2 |
7 |
12 |
3 |
8 |
18 |
G. Qavslar
Xotira: 64 MB, Vaqt: 1000 msQavslar soni \(n\) ta bo'lgan \(s\) satr(qavslar ketma-ketligi) to'g'ri hisoblanadi agar quyidagi ikki shart bajarilsa:
- \(s\) satrda ochiluvchi va yopiluvchi qavslar soni teng bo'lsa;
- \(s\) satrning istalgan prefiksida \(s[0...i](i<n)\) ochiluvchi qavslar soni yopiluvchi qavslar sonidan kam bo'lmasa.
Sizga \(m\) ta qavsdan iborat \(s\) satr beriladi, sizning vazifangiz shunday \(r_i=p+s+q\) satrni topishdan iboratki, hosil bo'lgan \(r_i\) satrning uzunligi \(n\) ga teng bo'lsin va bu satr to'g'ri ketma-ketlikni tashkil qilsin. Bunday satrlardan jami nechta hosil qilish mumkin ekanligini hisoblang.
Kirish faylining dastlabki satrida ikkita \(n,m(1\leq m\leq n\leq 10^5,m-n\leq2000)\) sonlar mos ravishda, hosil qilnishi kerak bo'lgan satr uzunligi va \(s\) satrdagi qavslar soni. Keyngi satrda \(s\) satr faqatgina '(' va ')' tashkil topgan ketma-ketlik.
Yagona qatorda masalaning javobini \(10^9+7\) ga bo'lgandagi qoldiqni chop eting.
\(1-\)testda faqat \(4\) ta holatda hosil qilish mumkun
\(1.\) \(p="("\), \(q="))"\) \(p+s+q="(())"\)
\(2.\) \(p="()"\), \(q=")"\), \(p+s+q="()()"\)
\(3.\) \(p=""\), \(q="())"\), \(p+s+q="(())"\)
\(4.\) \(p=""\), \(q=")()"\), \(p+s+q="()()"\)
\(2-\)testda faqatgina 1 ta hosil qilish mumkun
\(1.\) \(p=""\), \(q=""\), \(p+s+q="(())"\)
\(3-\)testda hech bir \(p\) va \(q\) satrlar orqali to'g'ri qavslardan tashkil topgan satrni hosil qilishning iloji yo'q.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
4 1 ( |
4 |
2 |
4 4 (()) |
1 |
3 |
3 2 (( |
0 |
H. Plus-Minus
Xotira: 65 MB, Vaqt: 1000 msPlus va minus bir birini yoqtirmaydi. Ular joylashgan qishloqda \(N\) ta(\(1\) dan \(N\) gacha raqamlangan) chorraha va bu chorrahalarni bog'lab turuvchi \(M\) ta bir xil uzunlikdagi ikki tomonlama harakat qiladigan yo'llar mavjud. Plus minus turgan chorrahaga, minus esa plus turgan chorrahaga borishni istaydi ammo ikkisi bir chorrahada uchrashib qolishni istamaydi (umumiy yo'lda qarama qarshi harakatlanishi mumkin 1-testga qarang). Ikkisi ham optimal harakat qilib plus \(N-\)chorrahaga, minus \(1-\)chorrahaga borishi kerak. Ularning tezliklari bir xil va doim harakatda qachonki ikkisi ham manziliga bir vaqtda yetib kelsa harakatni to'xtatadi. Dastlab plus \(1-\)chorrahada, minus esa \(N-\)chorrahada joylashgan.
Kirish faylining dastlabki satrda \(N(2\leq N\leq200)\) va \(M(1\leq M\leq N(N-1)/2)\) ikkita natural son mos ravishda chorrahalar va yo'llar soni. Keyingi \(M\) ta satrda \(u, v(1\leq u,v\leq N)\) \((u\neq v)\) chorrahalar o'rtasida yo'l mavjudligi.
Chiqish faylining birinchi satrda plus va minus ikkisi ham bir xil vaqtda manziliga yetib olguncha minimal tashrif buyurgan chorrahalar soni \(K\) va keyingi 2 ta satrda mos ravishda "P:" va "M:" belgilari va K tadan son ketma-ket tashrif buyurish chorrahalarni probel bilan ajratilgan holda chop eting (agar bunday yechimlar bir nechta bo'lsa istalganini, dastlab plusni harakatini keyingi satrda minusni harakatini chop eting). Agar ikkisi bir vaqtda manzilga borishning imkoni bo'lmasa "Infinite!" so'zini ni chop eting.
1-test: Plus va minus umumiy yo'lda qarama qarshi harakatda o'tib ketadi va ikkisixam bir vaqtda ma'nzilga yetib keladi.
2-test: Plus va minus hech qachon ma'nziliga yetib borishining imkoni bo'lmaydi.
3-test: Plus va minus ma'nziliga yetib borishi uchun harakati rasimda tasvirlangan(plus-yashil va minus-qizil rang bilan ifodalangan).
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
2 1 1 2 |
2 P: 1 2 M: 2 1 |
2 |
5 4 1 2 4 3 3 1 5 3 |
Infinite! |
3 |
7 6 1 6 1 5 7 5 3 4 2 7 5 3 |
7 P: 1 5 3 4 3 5 7 M: 7 2 7 5 1 6 1 |