Fișierul intrare/ieșire permutari.in, permutari.out Sursă ad-hoc
Autor din folclor Adăugată de avatar vmanz Victor Manz vmanz
Timp de execuție pe test 0.1 sec Limită de memorie 512 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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. O permutare de ordinul N are numarul de ordine A daca aceasta se afla pe pozitia A in sirul ordonat lexicografic al permutarilor de ordinul N.

Avand la dispozitie N, K si un sir A(1), A(2), ..., A(K) sortat crescator (reprezentand numerele de ordine ale unor permutari distincte 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 valorile sirului A(1), A(2), ..., A(K) separate prin cate un spatiu.

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!, unde 1 ≤ i ≤ K

Exemplu

permutari.in permutari.out
3 3
1 3 4
1 2 3
2 1 3
2 3 1

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

Indicii de rezolvare

Arată 2 categorii