Fișierul intrare/ieșire loc.in, loc.out Sursă .campion 2005
Autor Marinel Șerban Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.1 sec Limită de memorie 16384 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Loc (clasa a 6-a)

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

Fișierul 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 ieșire

Fișierul de ieșire loc.out va contine o singura linie pe care va fi scris un numar natural care reprezinta numarul de repetari ale procedeului, necesare pentru ca toti elevii sa isi reia locurile.

Restricții

  • 1 ≤ n ≤ 1000

Exemplu

loc.in loc.out Explicație
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.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii