Problem B
Kirmino rūpesčiai
Languages
de
en
et
is
lt
lv
no
pl
ru
sv
Jūsų augintinis – kirminas Maximus. Dirvoje ieškote vietos,
kur galėtumėte jį apgyvendinti. Dirva yra dėžutės formos ir jos
išmatavimai yra
Maximus mėgsta drėgmę, taigi reikia jį apgyvendinti tokiame
kubelyje, kuris yra ne sausesnis už gretimus kubelius.
Priešingu atveju jis pabėgs į drėgnesnį kubelį ir bus sunku jį
surasti. Kitaip sakant, Maximus reikia apgyvendinti lokaliame
maksimume. T.y. reikia rasti tokį kubelį
Jei kubelis yra už dirvos ribų, tuomet jo drėgnumą laikykite
lygiu
Dirvoje yra labai daug kubelių, taigi jūs nenorite matuoti kiekvieno kubelio drėgnumo. Šiame uždavinyje jums leidžiama kreiptis į vertintoją (angl. grader) ir užklausti, koks nurodytų kubelių drėgnumas. Kai rasite tinkamą kubelį, kuriame galės apsigyventi Maximus, pateikite to kubelio koordinates vertintojui.
Realizacija
Pirmoje eilutėje pateikti keturi teigiami sveikieji
skaičiai:
Po to į standartinį išvedimą galite parašyti daugiausia
Po užklausų Jūsų programa turi išvesti lygiai vieną eilutę
formatu "! x y z" ir baigti darbą.
Tai reiškia, kad kubelis
Visos
Jūs privalote ištuštinti standartinio išvedimo buferį (angl. flush standard output) prieš skaitydami vertintojo atsakymą. Kitu atveju Jūsų programa bus pažymėta kaip viršijusi leidžiamą vykdymo laiką.
-
Java: System.out.println() ištuština automatiškai.
-
Python: print() ištuština automatiškai.
-
C++: cout << endl; ištuština ir papildomai išveda naujos eilutės simbolį. Jei naudojate printf: fflush(stdout).
-
Pascal: Flush(Output).
Suprogramuoti interaktyvų bendravimą padės užduoties rengėjų parengtas kodas, kurį, jei norite, galite įkopijuoti į savo programą. Nuorodą į šį kodą kiekvienai palaikomai programavimo kalbai (C++, Pascal, Java, Python) galite rasti kattis sistemos užduočių puslapio šoninėje juostoje. Pateiktas kodas naudoja optimizuotas ir pakankamai greitas įvedimo/išvedimo paprogrames, kurios gali būti naudingos programuojant Python ir Java kalbomis, ir aktualios tik dviems paskutinėms testų grupėms.
Vertintojas nėra adaptyvus: tai yra, kiekvienam testui kiekvieno kubelio drėgnumo vertės yra fiksuotos ir jos nepriklausys nuo jūsų programos užklausų.
Ribojimai
Jūsų sprendimas bus testuojamas su keliomis testų grupėmis, kiekviena kurių vertinama tam tikru skaičiumi taškų. Kiekvieną testų grupę sudarys keletas testų. Taškai už testų grupę skiriami tik jei įveikiate visus tos grupės testus.
Grupė |
Taškai |
Ribojimai |
1 |
10 |
|
2 |
22 |
|
3 |
12 |
|
4 |
19 |
|
5 |
14 |
|
6 |
23 |
|
Dialogo pavyzdys
Kattis sistemoje yra vienas pavyzdinis testas. Šiame
pavyzdyje dėžutės išmatavimai yra
Kadangi
JUDGE: 3 1 1 3 YOU: ? 3 1 1 JUDGE: 13 YOU: ? 2 1 1 JUDGE: 14 YOU: ? 1 1 1 JUDGE: 10 YOU: ! 2 1 1