Problem K
Deviņdesmit deviņi
Languages
en
et
is
ja
lv
pl
ru
Jūs kopā ar draugu spēlējat spēli Deviņdesmit deviņi. Jūs uzsākat spēli, pasakot skaitli $1$ vai $2$. Tad pārmaiņus jūs abi veicat gājienus, sākot ar jūsu draugu, katrā gājienā šo skaitli palielinot par $1$ vai $2$. Uzvar tas spēlētājs, kas pirmais pasaka $99$!
Uzrakstiet programmu, kas spēlē šo spēli jūsu vietā un uzvar.
Komunikācija
Uzdevumā tiek lietots interaktīvs ievads/izvads.
Jūsu programmai jāuzsāk darbība, izvadot vienu rindu ar skaitli $1$ vai $2$. Vērtēšanas programma tad nolasīs šo skaitli (sauksim to par $x$) un atbildē izvadīs rindu ar $x+1$ vai $x+2$, ko jūsu programma var nolasīt. Jūsu programmai tad jāizvada skaitlis, kas ir par $1$ vai $2$ lielāks nekā nolasītais skaitlis, un tā tālāk.
Ja jums izdodas uzvarēt un izvadīt $99$, jūsu programmai jābeidz darbība normāli (ar atgriešanās kodu 0). Ja uzvar jūsu draugs un jūsu programma nolasa $99$, tad darbība arī jābeidz normāli; par testa grupu tad saņemsiet vērtējumu Wrong Answer. Izvadot nekorektas vērtības (tai skaitā vērtības, lielākas par $99$), arī iegūsiet vērtējumu Wrong Answer, pieņemot, ka jūsu programma pēc tam pabeidz darbību. Ja jūsu programma beidz darbu nekorekti, tā saņems vienu no Wrong Answer, Runtime Error vai Time Limit Exceeded vērtējumiem atkarībā no situācijas.
Jums jānodrošina, ka programma sinhronizē (flush) izvada datu plūsmu pirms tā nolasa vērtēšanas programmas atbildi, citādi saņemsiet vērtējumu Time Limit Exceeded. Atbalstītajās valodās to var izdarīt sekojošā veidā:
-
Java: System.out.println() sinhronizē automātiski.
-
Python: print() sinhronizē automātiski.
-
C++: cout << endl; sinhronizē, papildus izvada jaunas rindas simbolu. Ja lietojat printf, fflush(stdout).
-
Pascal: Flush(Output).
Ierobežojumi
Jūsu risinājums tiks testēts uz vairākām testu grupām, par katru no tām var iegūt punktus. Katra testu grupa satur vienu vai vairākus testus. Lai iegūtu punktus par testu grupu, jums ir pareizi jāatrisina visi testi šajā grupā. Jūsu beigu vērtējums par uzdevumu būs starp visiem iesūtījumiem lielākais.
Grupa |
Punkti |
Ierobežojumi |
1 |
30 |
Jūsu draugs vienmēr skaitli palielina par 1. |
2 |
30 |
Jūsu draugs vienmēr skaitli palielina par 2 (izņemot pie skaitļa 98). |
3 |
40 |
Jūsu draugs spēlē nejauši, katrai izvēlei 50% varbūtība (izņemot pie skaitļa 98). |