joc

Time limit: 0.1s Memory limit: 64MB Input: joc.in Output: joc.out

Doi copii vor să joace un joc cu doi pioni și o tablă formată din NN căsuțe numerotate de la 11 la NN, 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 XX în modul descris mai jos;
    • își mută pionul înainte cu XX poziții iar, dacă valoarea XX calculată este 66, are dreptul la calcularea unei alte valori XX, deci la încă o mutare, necedând încă locul celuilalt copil, iar dacă valoarea XX este diferită de 66 cedează locul la tablă;
  • XX se calculează după regula:
    • dacă numărul mutării este impar atunci:
      X=((numa˘rul_muta˘rii+((numa˘rul_ca˘suței_pionului+N) mod 10)) mod 6)+1X = ((\text{numărul\_mutării} + ((\text{numărul\_căsuței\_pionului} + N) \text{ mod } 10)) \text{ mod } 6) + 1
    • dacă numărul mutării este par atunci:
      X=((((numa˘rul_muta˘rii+1) mod 5)+((numa˘rul_ca˘suței_pionului+N) mod 10)) mod 6)+1X = ((((\text{numărul\_mutării} + 1) \text{ mod } 5) + ((numărul\_căsuței\_pionului + N) \text{ mod } 10)) \text{ mod } 6) + 1
      unde NN este numărul căsuțelor tablei de joc, numa˘rul_muta˘rii\text{numărul\_mutării} semnifică a câta mutare este, mod\text{mod} este operația prin care se obține restul împărțirii întregi a două numere, iar valoarea rezultată, XX, este una dintre cifrele 11, 22, 33, 44, 55 sau 66, 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 11 (întoarcerea acestui pion la poziția 11 nu se contorizează ca mutare);
  • dacă un pion, după înaintare, ar ajunge în afara tablei de joc, este așezat pe căsuța NN (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.

Cerință

Dându-se numărul NN, determinați:

  • Numărul divizorilor lui NN;
  • 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.

Date de intrare

Pe prima linie a fișierului joc.in se află două numere naturale, CC și NN separate printr-un spațiu. Dacă C=1C=1, atunci se rezolvă doar prima cerință, dacă C=2C=2, atunci se rezolvă doar a doua cerință iar dacă C=3C=3, atunci se rezolvă doar cea de-a treia cerință.

Date de ieșire

Fișierul de ieșire este joc.out. Dacă C=1C=1 sau C=2C=2, acesta conține un număr natural ce reprezintă răspunsul pentru cerința respectivă. Dacă C=3C=3, acesta conține un șir de numere naturale, separate prin câte un spațiu, care reprezintă răspunsul pentru a treia cerință.

Restricții și precizări

  • 2N10 0002 \leq N \leq 10 \ 000;
  • Pentru teste în valoare de 2323 de puncte, C=1C=1.
  • Pentru alte teste în valoare de 3333 de puncte, C=2C=2.
  • Pentru alte teste în valoare de 4444 de puncte, C=3C=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 000100 \ 000.
  • Problema nu urmăreşte găsirea vreunei proprietăţi speciale pentru șirurile de valori calculate prin formulele date.

Exemplul 1

joc.in

1 10

joc.out

4

Explicație

C=1C=1 deci se rezolvă prima cerință. N=10N=10 are 44 divizori.

Exemplul 2

joc.in

2 10

joc.out

2

Explicație

  • Ambii pioni se află la căsuța 11. În imaginile alăturate, primul copil are pionul roșu și al doilea copil are pionul verde.
  • Mută primul copil (pionul acestuia se află la căsuța 11); suntem la prima mutare (număr impar); se calculează cifra pentru înaintarea pionului: X=(1+(1+10) mod 10) mod 6+1=3X = (1 + (1 + 10) \text{ mod } 10) \text{ mod } 6 + 1 = 3; primul jucător înaintează pionul de la căsuța 11 la căsuța 44.
  • Mută al doilea copil (pionul acestuia se află la căsuța 11); suntem la a doua mutare (număr par); se calculează cifra pentru înaintarea pionului: X=((((2+1) mod 5)+((1+10) mod 10)) mod 6)+1=5X = ((((2 + 1) \text{ mod } 5) + ((1+10) \text{ mod } 10)) \text{ mod } 6) + 1 = 5; al doilea copil înaintează pionul de la căsuța 11 la căsuța 66.
  • Mută primul copil (pionul acestuia se află la căsuța 44); suntem la a treia mutare (număr impar); se calculează cifra pentru înaintarea pionului: X=(3+(4+10) mod 10) mod 6+1=2X = (3 + (4 + 10) \text{ mod } 10) \text{ mod } 6 + 1 = 2; primul copil înaintează pionul de la căsuța 44 la căsuța 66; cum pionul celui de-al doilea copil se află la căsuța 66 el este întors la prima căsuță, deci pionul celui de-al doilea copil ocupă acum căsuța 11.
  • Mută al doilea copil (pionul acestuia se află la căsuța 11); suntem la a patra mutare (număr par); se calculează cifra pentru înaintarea pionului: X=((4+1) mod 5+(1+10) mod 10) mod 6+1=2X = ((4 + 1) \text{ mod } 5 + (1 + 10) \text{ mod } 10) \text{ mod } 6 + 1 = 2; al doilea copil deplasează pionul de la căsuța 11 la căsuța 33.
  • Mută primul copil (pionul acestuia se află la căsuța 66); suntem la a cincea mutare (număr impar); se calculează cifra pentru înaintarea pionului: X=(5+(6+10) mod 10) mod 6+1=6X = (5 + (6 + 10) \text{ mod } 10) \text{ mod } 6 + 1 = 6; primul copil deplasează pionul de la căsuța 66 la căsuța 1010 (ar trebui să se deplaseze la căsuța 1212 care este în afara tablei de joc) cifra este 66; copilul are dreptul la încă o mutare dar a ajuns deja cu pionul la căsuța de final și se termină jocul.

Primul copil este câștigător. Cifrele calculate au fost, în ordine, 3 5 2 2 63 \ 5 \ 2 \ 2 \ 6, cifra 22 a apărut de cele mai multe ori adică de 22 ori.

Exemplul 3

joc.in

3 10

joc.out

1 4 6 10

Explicație

C=3C = 3 deci se rezolvă a treia cerință. Primul copil este câștigător, el a ocupat în această ordine căsuțele: 1 4 6 101 \ 4 \ 6 \ 10.

Log in or sign up to be able to send submissions!