Fişierul intrare/ieşire: | scara5.in, scara5.out | Sursă | ONI 2019, clasa a 10-a, ziua 1 |
Autor | Ionel-Vasile Pit-Rada | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 131072 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
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)
Cerinţă
Se cere să se afişeze etichetele persoanelor în ordinea în care acestea sunt aşezate pe scară la final/
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.
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ă.
Restricţii
- 1 ≤ N ≤ 2000
- Pentru 22 puncte N ≤ 15
Exempl3
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); (1, 3, 2) / (0, 0, 0, 4); (1, 3) / (2, 0, 0, 4); (1, 2) / (0, 3, 0, 4); (1) / (2, 3, 0, 4); (2, 3) / (0, 0, 1, 4); (2) / (3, 0, 1, 4); (3) / (0, 2, 1, 4); () / (3, 2, 1, 4) |
3 2 3 1 | 3 1 2 | (2, 3, 1) / (0, 0, 0); (2, 3) / (1, 0, 0); (2, 1) / (0, 3, 0); (2) / (1, 3, 0); (1, 3) / (0, 0, 2); (1) / (3, 0, 2); (3) / (0, 1, 2); () / (3, 1, 2) |