Revizia anterioară Revizia următoare
| Fișierul intrare/ieșire | permutari.in, permutari.out | Sursă | ad-hoc |
|---|---|---|---|
| Autor | din folclor | Adăugată de |
|
| Timp de execuție pe test | 0.05 sec | Limită de memorie | 1024 KB |
| Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Permutări
O permutare de ordinul N (numar natural nenul) este o functie bijectiva definita pe multimea {1, 2, ..., N} cu valori in ea insasi.
Avand la dispozitie N, K si un sir A[i] (1 <= i <= K) sortat crescator (reprezentand numerele de ordine a unor permutari distincte din sirul ordonat lexicografic al permutarilor de ordinul N), scrieti un program care afiseaza imaginile acestor permutari.
In general, spunem ca sirul (x(1), x(2), ..., x(m)) este mai mic decat sirul (y(1), y(2), ..., y(n)) din punct de vedere lexicografic daca
exista k, 1 ≤ k ≤ min(m, n) , astfel incat x(1) = y(1), x(2) = y(2), ..., x(k-1) = y(k-1) si x(k) < y(k)
sau
m < n si x(i) = y(i) pentru orice 1 ≤ i ≤ m (sirul x este un prefix al lui y).
Date de intrare
Fisierul de intrare permutari.in va contine pe prima linie numerele naturale N si K, iar pe a doua linie cele K numere din sir, reprezentand numerele de ordine a K permutari distincte.
Date de ieșire
Fisierul de ieșire permutari.out va contine pe cate o linie, cele K permutari de ordinul N avand numerele de ordine cerute, in ordinea din fisierul de intrare. Numerele de pe fiecare linie a fisierului vor fi separate prin cate un spatiu.
Restricții
- 1 ≤ N ≤ 9
- 1 ≤ K ≤ 5
- 1 ≤ A[i] ≤ N!
Exemplu
| permutari.in | permutari.out |
|---|---|
| 3 3
1 3 4 |
1 2 3
2 1 3
2 3 2 |


Poți vedea testele pentru această problemă accesând