Baltic Olympiad in Informatics 2018 Open - practice session

Start

2018-04-27 15:30 UTC

Baltic Olympiad in Informatics 2018 Open - practice session

End

2018-04-27 17:30 UTC
The end is near!
Contest is over.
Not yet started.
Contest is starting in -590 days 7:51:09

Time elapsed

2:00:00

Time remaining

0:00:00

Problem C
Üheksakümmend üheksa

Sa mängid sõbraga mängu, mille nimi on “üheksakümmend üheksa”. Sina alustad, öeldes kas arvu $1$ või arvu $2$. Seejärel ütlete te sõbraga kordamööda arve, kusjuures iga arv peab olema eelmisest kas $1$ või $2$ võrra suurem. Võidab see, kes ütleb arvu $99$.

Kirjutada programm, mis seda mängu Sinu eest mängides alati võidab.

Interactivity

Selle ülesande hindamine on interaktiivne.

Sinu programm peab algatuseks väljastama arvu $1$ või $2$ ja selle järele reavahetuse. Testimisprogramm loeb selle arvu (tähistame seda $x$) ja vastab kas arvuga $x+1$ või arvuga $x+2$, mille Sinu programm saab sisse lugeda. Seejärel peab Sinu programm omakorda väljastama $1$ või $2$ võrra suurema arvu j.n.e kuni mängu lõpuni.

Kui Sinu programm suudab mängu võita ja väljastab $99$, peab ta pärast seda töö normaalselt lõpetama. Kui Sinu programm loeb sisendist arvu $99$, peab ta kohe pärast seda töö lõpetama; selle testigrupi tulemuseks näidatakse “Wrong Answer”. Lubamatute väärtuste (ka $99$-st suuremate arvude) väljastamisel on tulemuseks samuti “Wrong Answer”, kui Su programm seejärel kohe töö lõpetab. Kui Su programm ei lõpeta tööd nõuetekohaselt, võib testigrupi tulemuseks olla “Wrong Answer”, “Runtime Error” või “Time Limit Exceeded”, sõltuvat sellest, kuidas Su programm täpselt käitub.

Sinu programm peab iga oma käigu väljastamise järel ja enne testimisprogrammi käigu lugemist väljundpuhvri tühjendama. Kui Sinu programm seda ei tee, on hindamise tulemuseks “Time Limit Exceeded”. Väljundpuhvri tühendamine käib järgmiselt:

  • Java: System.out.println() tühjendab puhvri automaatselt.

  • Python: print() tühjendab puhvri automaatselt.

  • C++: cout << endl; väljastab reavahetuse ja tühjendab seejärel puhvri; printf() kasutamise järel tühjendab puhvri fflush(stdout).

  • Pascal: Flush(Output).

Constraints

Your solution will be tested on a set of test groups, each worth a number of points. Each test group contains a set of test cases. To get the points for a test group you need to solve all test cases in the test group.

Group

Points

Constraints

1

30

Vastane suurendab arvu alati 1 võrra.

2

30

Vastane suurendab arvu alati 2 võrra (välja arvatud 98 juures).

3

40

Vastane suurendab arvu 1 või 2 võrra juhuslikult 50% tõenäosusega(välja arvatud 98 juures).