Fișierul intrare/ieșire | perm.in, perm.out | Sursă | Olimpiada locala 2011, Clasele 11-12 |
---|---|---|---|
Autor | autor necunoscut | Adăugată de | Ioana Bica • ioanab |
Timp de execuție pe test | 0.5 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Perm
Fie N un număr natural nenul și mulțimea A = {1, 2, …, N}.
O permutare P este o funcție bijectivă definită pe mulțimea A cu valori în A, adică o funcție care asociază în mod unic fiecărui element i din A un element unic P(i) tot din A.
Se spune că permutarea P este o permutare identică dacă P(i) = i, oricare ar fi i din A.
Pentru orice număr natural nenul K, se definește permutarea PK astfel:
- PK(i) = P(i), dacă K = 1
- P(P^K-1^(i)), dacă K > 1
Cerinta
Scrieți un program care să citească numărul natural nenul N și cele N numere naturale disticte P(1), P(2), ..., P(N) ale tabelului de valori corespunzător unei permutări P și apoi să determine cel mai mic număr natural nenul K cu proprietatea că PK este o permutare identică.
Date de intrare
Fișierul perm.in conține două linii. Pe prima linie este scris numărul natural nenul N. Pe a doua linie sunt scrise cele N numere naturale distincte din mulțimea A: P(1), P(2), ..., P(N), separate prin câte un spațiu, reprezentând permutatea inițială P.
Date de ieșire
Fișierul perm.out va conține o singură linie pe care se va scrie numărul natural K.
Restricții
- 1 ≤ N ≤ 1200
Exemplu
perm.in | perm.out |
---|---|
4 2 3 4 1 |
4 |