Sunt diriginte la o clasa
a IX-a, clasa nu tocmai cuminte. Dupa primele saptamani de scoala am ajuns la
concluzia ca trebuie sa rearanjez elevii in banci. Asa ca am numerotat scaunele
de la 1 la n si am stabilit asezarea
elevilor. De acum incolo voi considera ca elevul 1 este cel care sta pe scaunul
1, elevul 2 pe scaunul 2, s.a.m.d.
Evident, la primul control inopinat am gasit elevii asezati in cu totul alta
ordine decat i-am asezat.
Prin urmare, le-am cerut sa isi reia asezarea pe care am stabilit-o.
Pentru a nu crea invalmaseala in clasa, am stabilit urmatorul procedeu de reluare
a locurilor:
daca elevul i nu este la locul
sau (deci pe scaunul i) se ridica,
se duce la scaunul sau; daca scaunul sau este ocupat, elevul care statea pe
scaunul i se ridica, pe scaunul
i se aseaza elevul i,
iar cel care s-a ridicat isi cauta locul in acelasi mod, pana cand ultimul elevul
care s-a ridicat isi gaseste scaunul liber.
Evident, procedeul se repeta pana cand toti elevii sunt asezati la locurile
lor.
Cerinta
Scrieti un program care sa determine de cate ori trebuie repetat procedeul astfel
incat toti elevii sa fie reasezati la locurile lor.
Date de intrare
Fisierul de intrare loc.in va
contine pe prima linie un numar natural n
care reprezinta numarul de elevi din clasa.
Pe urmatoarele n linii este descris
modul in care am gasit elevii asezati atunci cand am venit in control.
Mai exact, pe linia i+1 se afla
numarul elevului care statea pe scaunul i.
Date de iesire
Fisierul de iesire loc.out va
contine o singura linie pe care va fi scris un numar natural care reprezinta
numarul de repetari ale prodedeului, necesare pentru ca toti elevii sa isi reia
locurile.
Restrictii si precizari
1 <= n <= 1000
Exemplu
loc.in
loc.out
Explicatii
5
3
4
5
2
1
2
1. Elevul 3 se ridica,
se duce la locul sau (scaunul 3); de pe scaunul 3 se ridica elevul 5,
care se duce la locul sau, de pe care se ridica elevul 1, care isi gaseste
locul liber.
2. Se ridica elevul 4, se duce la locul sau (scaunul 4), de pe care se
ridica elevul 2, care se duce la scaunul sau pe care il gaseste liber.