Hide

Problem H
Deviņdesmit deviņi

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).

Please log in to submit a solution to this problem

Log in