== include(page="template/taskheader" task_id="scara5") ==
Avem $N$ persoane notate cu etichetele $1, 2, ..., N$, într-o ordine oarecare şi o scară cu $N$ trepte. Persoanele sunt aşezate în şir indian, cu faţa spre locul unde se află scara. Treptele scării sunt iniţial neocupate. În mod repetat persoana aflată la acel moment la capătul din dreapta al şirului se poziţionează pe scară pe prima treaptă neocupată, iar fiecare dintre persoanele aflate pe treptele inferioare coboară de pe scară şi se repoziţionează la capătul din dreapta al şirului, începând cu cea de la prima treaptă a scării. Acţiunea se opreşte atunci când sunt ocupate toate treptele pe scară.
Exemplu: Iniţial la etapa 0 avem $sir = (4, 2, 1, 3)$ şi $scara=(0, 0, 0, 0)$
Etapa 1: $(4, 2, 1) / (3, 0, 0, 0)$
Etapa 2: $(4, 2, 3) / (0, 1, 0, 0)$
Etapa 3: $(4, 2) / (3, 1, 0, 0)$
Etapa 4: $(4, 3, 1) / (0, 0, 2, 0)$
Etapa 5: $(4, 3) / (1, 0, 2, 0)$
Etapa 6: $(4, 1) / (0, 3, 2, 0)$
Etapa 7: $(4) / (1, 3, 2, 0)$
Etapa 8: $(1, 3, 2) / (0, 0, 0, 4)$
Final: $() / (3, 2, 1, 4)$
h2. Cerinţă
Se cere să se afişeze etichetele persoanelor în ordinea în care acestea sunt aşezate pe scară la final/
Poveste şi cerinţă...
h2. Date de intrare
În fişierul de intrare $scara.in$ se află scris pe prima linie numărul $N$. Pe a doua linie se află scrise $N$ numere naturale separate prin câte un spaţiu, reprezentând etichetele celor $N$ persoane, în ordinea iniţială din şir, de la stânga spre dreapta.
Fişierul de intrare $scara5.in$ ...
h2. Date de ieşire
În fişierul de ieşire $scara.out$ vor fi scrise pe prima linie şi separate prin câte un spaţiu cele $N$ numere naturale reprezentând etichetele persoanelor corespunzătoare aşezării pe scară.
În fişierul de ieşire $scara5.out$ ...
h2. Restricţii
* $1 ≤ N ≤ 2000$
* Pentru 22 puncte $N ≤ 15$
* $... ≤ ... ≤ ...$
h2. Exempl3
h2. Exemplu
table(example). |_. scara5.in |_. scara5.out |_. Explicaţii |
| 4
4 2 1 3
| 3 2 1 4
| (4, 2, 1, 3) / (0, 0, 0, 0); (4, 2, 1) / (3, 0, 0, 0); (4, 2, 3) / (0, 1, 0, 0); (4, 2) / (3, 1, 0, 0); (4, 3, 1) / (0, 0, 2, 0); (4, 3) / (1, 0, 2, 0); (4, 1) / (0, 3, 2, 0); (4) / (1, 3, 2, 0);
|
| 3
2 3 1
| 3 1 2
| Sunt loveaua sunt baiatu
|
table(example). |_. scara5.in |_. scara5.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie