== include(page="template/taskheader" task_id="joc11") ==
Poveste și cerință...
Doi copii vor să joace un joc cu doi pioni și o tablă formată din N căsuțe numerotate de la 1 la N, așezate una după cealaltă, pe aceeași linie. Jocul are următoarele reguli:
* se așază pionii pe prima căsuță de pe tablă (fiecare copil are propriul pion);
* primul copil este cel care începe jocul;
* copiii vin la tabla de joc alternativ;
* cel care este la rând face, după regula de mai jos, una sau mai multe mutări înainte să cedeze locul
celuilalt:
** calculează o valoare *X* în modul descris mai jos;
** își mută pionul înainte cu *X* poziții iar, dacă valoarea *X* calculată este 6, are dreptul la calcularea unei alte valori *X*, deci la încă o mutare, necedând încă locul celuilalt copil, iar dacă valoarea *X* este diferită de 6 cedează locul la tablă;
* *X* se calculează după regula:
** dacă numărul mutării este impar atunci:
*X* = ((_numărul mutării_ + ((_numărul căsuței pionului_ + *N*) mod 10)) mod 6) + 1
** dacă numărul mutării este par atunci:
*X* = ((((_numărul mutării_ + 1) mod 5) + ((_numărul căsuței pionului_ + *N*) mod 10)) mod 6) + 1
unde *N* este numărul căsuțelor tablei de joc, numărul mutării semnifică a câta mutare este, mod este operația prin care se obține restul împărțirii întregi a două numere, iar valoarea rezultată, *X*, este una dintre cifrele 1, 2, 3, 4, 5 sau 6, cum de altfel se deduce din formulele de mai sus.
* în urma înaintării, dacă pionul ajunge pe o căsuță ocupată în acel moment de celălalt pion, îi ia locul acestuia, iar pionul care ocupa căsuța este trimis la căsuța cu numărul 1 (întoarcerea acestui pion la poziția 1 nu se contorizează ca mutare);
* dacă un pion, după înaintare, ar ajunge în afara tablei de joc, este așezat pe căsuța N (ultima);
* este câștigător copilul care ajunge primul cu pionul la căsuța N de pe tabla de joc, și atunci jocul se încheie.
h2. Cerințe
Dându-se numărul *N*, determinați:
# Numărul divizorilor lui *N*;
# Numărul maxim de apariții ale unei valori calculate în timpul jocului prin formulele descrise;
# Numerele căsuțelor ocupate, în timpul jocului, de pionul câștigătorului în ordinea în care acestea sunt vizitate.
h2. Date de intrare
Fișierul de intrare $joc11.in$ ...
Pe prima linie a fișierului $joc11.in$ se află două numere naturale, *C* și *N* separate printr-un spațiu. Dacă *C* = 1, atunci se rezolvă doar prima cerință, dacă *C* = 2, atunci se rezolvă doar a doua cerință, iar dacă *C* = 3, atunci se rezolvă doar cea de-a treia cerință.
h2. Date de ieșire
În fișierul de ieșire $joc11.out$ ...
Fișierul de ieșire este $joc11.out$.
* dacă *C* = 1 sau *C* = 2, acesta conține un număr natural ce reprezintă răspunsul pentru cerința respectivă.
* dacă *C* = 3, acesta conține un șir de numere naturale, separate prin câte un spațiu, care reprezintă răspunsul pentru a treia cerință.
h2. Restricții
h2. Restricții și precizări
* $... ≤ ... ≤ ...$
* 2 ≤ *N* ≤ 10.000
* Pentru teste în valoare de 23 de puncte, *C* = 1
* Pentru alte teste în valoare de 33 de puncte, *C* = 2
* Pentru alte teste în valoare de 44 de puncte, *C* = 3
* Se garantează că există un câștigător
* Pe parcursul jocului, copii pot ajunge pe căsuțe pe care le-au mai vizitat
* Se garantează că numărul căsuțelor ocupate de copii este mai mic decât 100.000
* Problema nu urmărește găsirea vreunei proprietăți speciale pentru șirurile de valori calculate prin formulele date.
h2. Exemplu
h2. Exemple
table(example).
|_. joc11.in |_. joc11.out |