A. Plyus * Plyus
Xotira: 16 MB, Vaqt: 1000 msSizga \(N \times M\) o’lchamli jadval berilgan, har bir elementi yaxshi (good - G) yoki yomon (bad - B) ni ifodalaydi.
To’g’ri Plyus deb gorizontal va vertikal uzunliklari teng, bu uzunlik toq, chiziqlar o’zaro teng markazdan kesishganiga aytiladi. Plyusning yuzasi u egallab turgan yacheykalar soniga teng. Quyidagi diagrammada yashil maydonlar Plyus hisoblanadi, sariq maydonlar esa Plyus hisoblanmaydi.
Sizga berilgan jadvaldan tomonlari faqat yaxshi elementlardan iborat bo’ladigan shunday ikkita Plyusni ajratib olingki, ajratilgan Plyuslar jadvalda umumiy nuqtaga ega bo’lmasin va ikkila Plyusning yuzalari ko’paytmasi maksimal bo’lsin.
Dastlabki satrda ikkita butun son, \(N\) va \(M(2 \le N, M \le 15)\) sonlari, jadvalning qatorlar va ustunlar soni kiritiladi. Keyingi qatordan boshlab \(N\) ta qatorning har birida \(M\) tadan belgi, jadvalning elementlari kiritiladi.
Umumiy koordinataga ega bo’lmagan holda ajratib olingan ikkita Plyusning yuzalari ko’paytmasi maksimal necha bo’lishini chop eting.
Quyidagi rasmning chap tomonidagi jadvalda 1-test, o’ng tomondagi jadvalda 2-test bo’yicha ikkita Plyus qanday ajratib olinganligini ko’rishingiz mumkin:
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 6 GGGGGG GBBBGB GGGGGG GGBBGB GGGGGG |
5 |
2 |
6 6 BGBBGB GGGGGG BGBBGB GGGGGG BGBBGB BGBBGB |
25 |
B. Matritsa
Xotira: 128 MB, Vaqt: 1000 msSizda N ta qator va M ta ustundan iborat matritsa berilgan. Siz matritsa ustida o’yin o’ynayapsiz. O’yin shartlari quyidagicha:
- Siz o’yinni matritsaning 1-satrining ixtiyoriy elementidan boshlashingiz mumkin.
- Siz o’yin mobaynida qadam qo’ygan yacheykangizdagi qiymat sizning umumiy balingizga qo’shiladi va shundan so’ng bu yacheykadagi qiymat 0 ga almashiladi.
- Siz o’yin mobaynida har bir harakatda chapga, o’ngga va pastga bir yacheyka birligida harakatlana olasiz
- Siz o’yinni matritsaning oxirgi qatorining ixtiyoriy yacheykasida yakunlashingiz mumkin
INPUT.TXT kirish faylining dastlabki satrida ikkita butun son, N va M(1 ≤ N*M ≤ 4*106). Keyingi N ta satrning har birida M tadan [-250, 250] oralig’idagi butun son, matritsa elementlari kiritiladi.
OUTPUT.TXT chiqish faylida bitta butun son, siz yig’ishingiz mumkin bo’lgan maksimal qiymatni chop eting
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
4 5 1 2 3 -1 -2 -5 -8 -1 2 -150 1 2 3 -250 100 1 1 1 1 20 |
37 |
C. Shimoliy city
Xotira: 256 MB, Vaqt: 4000 msQuruvchi elflar va nihoyat Shimoliy citydagi barcha binolarni qurib bitkazishdi, endigi vazifa esa bu binolarni yo'llar orqali bog'lab chiqish. Qiyin tarafi esa yo'llarni Yangi yil bayramigacha bitkazish kerak, chunki Shimoliy qutbda asosiy bayramlarni yangi Shimoliy cityda o'tkazish rejalashtirilgan. Yo'llarni iloji boricha tez bitirish uchun esa hamma binolarni birlashtiruvchi eng qisqa yo'lni topish kerak.
Sizga \(N\) natural soni va keyingi \(N\) ta qatorda \(X_i\), \(Y_i\) sonlari beriladi. \(X_i\), \(Y_i\) bu i-binoning joylashgan koordinatalari. Binolar 1 dan N gacha raqamlangan.
\(1\leq N \leq 1000;\) \(-10^9 \leq X_i, Y_i \leq 10^9, \space i=\{1...N\}.\)
Quruvchi elflarga eng qisqa yo'l uchun qaysi binolar o'rtasida yo'llar qurish kerakligini yozib bering. O'rtasida yo'l qurilishi kerak bo'lgan bino juftliklari sonini va keyingi qatorlarda juftliklarni probel bilan ajratgan holda alohida qatorlarda chop eting.
Agar bir necha xil javob mavjud bo'lsa, istalganini chop eting.
Siz bergan javob va muallif javobidagi yo'l uzunliklari farqi \(10^{-6}\) dan katta bo'lganda javobingiz noto'g'ri deb hisoblanadi.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
5 0 0 0 4 4 0 2 2 4 4 |
4 1 4 2 4 3 4 4 5 |
2 |
9 -10 5 -3 6 8 6 -4 1 4 2 0 0 -5 -8 2 -8 7 -9 |
8 4 6 5 6 2 4 8 9 3 5 7 8 1 2 6 8 |
D. Baliq ovi
Xotira: 16 MB, Vaqt: 1000 msKunlardan bir kun N(1 < N < 60) ta baliqchi baliq oviga borishdi, u yerda X ta baliq ovlashdi. Shundan so'ng, baliqchilar yotishga ketishdi. Ertalab birin – ketin uyg’onishganda uyg’ongan baliqchi o’zi birinchi bo’lib men uyg’ondim deb o’ylab to’plangan baliqlarni teng N qismga ajratdi, bunda har gal aynan K(0 < K < N) tadan baliq ortib qoldi, baliqchilar o’rtasida nizo chiqmasligi maqsadida ortib qolgan K ta baliqni qaytadan dengizga uloqtirdi, shundan so’ng o’zining ulushini oldida qolgan baliqlarni qaytadan bir joyga jamlab o’zi uyiga ravona bo’ldi(Har bir baliqchi kamida 1 tadan baliq olgan).
Sizning vazifangiz, berilgan N va K uchun, minimal mumkin bo'lgan musbat X qiymatni - masalaning shartini qondiradigan baliq sonini aniqlashdir.
INPUT.TXT kirish faylining yagona satrida ikkita butun son, N va K sonlari kiritiladi.
OUTPUT.TXT chiqish faylining yagona satrida bitta butun son, X ning mumkin bo’lgan eng minimal qiymatini chop eting.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 1 |
25 |
2 |
4 3 |
247 |
E. N – tub son
Xotira: 32 MB, Vaqt: 1000 msBugungi kontestimizga juda ham ko`p odam qatnashdi, ularni har birini alohida nomerlab chiqdik ya’ni birinchi odam 2, ikkinchi odam 3 va hokazo shunday tartibda \(5, 7, 11, 13, \space\dots\) xullas ketma – ketlikni tushundingiz.
Sizning vazifangiz \(N\) – odamni nomerini topish.
Yagona qatorda \(N (0 < N \le 10^9)\) butun soni beriladi.
Yagona butun son masala yechimini chiqaring.
# | INPUT.TXT | OUTPUT.TXT |
---|---|---|
1 |
3 |
5 |
2 |
30 |
113 |
3 |
300000000 |
6461335109 |