Ak máte otázky ohľadom tejto úlohy píšte Kalerábovi na [email protected]
Malý Adam, ako každé leto, išiel na návštevu k jeho dedkovi. Adam k nemu chodí veľmi rád, pretože jeho dedko má na stole vždy veľkú misu s rezňami (akokoľvek čudne to znie). Samozrejme, Adam ju každé leto potajomky vykráda a tento rok nie je žiadnou výnimkou. Jeden večer, keď si už bol istý, že dedko už spí, potichu vykĺzol z izby a preplazil sa ku miske pokladov. Na jeho veľké prekvapenie tam stál dedko, ktorý si všimol, že mu rezne miznú. Dedko dal Adamovi ponuku. Adam sa môže zahrať s dedkom hru o rezne. Ak Adam vyhrá môže si nechať všetky rezne, ale ak prehrá, dedko rezne schová na vysokú skriňu, kam Adam nedočiahne.
Dedko položil všetky rezne na stôl. Hráči sa následne budú striedať v ťahoch. Každý hráč
si z kopy zoberie nejaký počet rezňov, pričom vždy začína Adam. Počet rezňov, ktoré si môžu hráči brať je väčší
rovný n
a menší ako m
. Obidve tieto čísla určí dedko na začiatku hry. Hráč, ktorý si zoberie posledný rezeň, vyhráva.
Dedko je však dobrá duša a Adamovi sľúbi, že obe čísla určí tak, že ak Adam bude hrať správne,
môže vždy vyhrať. Ak počas hry nastane situácia, že počet rezňov na kôpke je menší ako n
, hráč na ťahu vyhráva (zoberie zvyšok).
Táto úloha je interaktívna. Na prvom riadku dostane hráč čísla k
, n
a m
, kde k
je
počet rezňov na kôpke a n
je najmenší počet rezňov, aký si hráči môžu brať. Musia si
tiež brať len počet menší ako m
. Ďalej sa hráči striedajú, počínajúc Adamom. Každý hráč
vypíše jedno číslo n \leq x \lt m
vyjadrujúce, koľko rezňov si daný hráč berie z kopy. Hráč, ktorý si zoberie
posledný rezeň, vyhráva. Na konci hry testovač vypíše adam
ak vyhral Adam, inak vypíše
dedko
.
Aby testovanie fungovalo ako má, je nutné, aby sa po vypísaní ťahu výstup
presunul z pamäte na štandardný výstup pomocou príkazu cout.flush()
v C++
alebo sys.stdout.flush()
v Pythone. Pre iné jazyky hľadajte ekvivalent k
príkazu flush
.
V prvej sade máte garantované n=1
.
17 1 6
2
5
4
1
5
Na kôpke je 17 rezňov a hráči si môžu naraz brať 1, 2, 3, 4 alebo 5 rezňov. Adam si na začiatku vezme 2 rezne. Dedko nasleduje s 5timi. Adam si následne zoberie 4, a môžeme si všimnúť, že nech si dedko teraz zoberie hocikoľko rezňov, Adam vždy vyhrá.