Fişierul intrare/ieşire:nkperm.in, nkperm.outSursăpreONI 2008 Runda 1
AutorMircea Bogdan PasoiAdăugată dedominoMircea Pasoi domino
Timp execuţie pe test0.05 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

NKPerm

Vom numi o (N,K) permutare un sir de N*K in care fiecare numar intre 1 si N apare de fix K ori, iar elementele adiacente sunt diferite. Fie S sirul tuturor (N,K) permutarilor ordonate lexicografic. Scrieti un program care sa implementeze urmatoarele operatii:

  • A. se da o (N,K) permutare valida, sa se determine a cata este in sirul S
  • B. se da un numar natural X, sa se determine a X-a permutare din sirul S

Date de intrare

Fisierul de intrare nkperm.in contine pe prima linie numerele naturale N K T. Urmatoarele T linii descriu operatiile, fiecare linie incepand cu un caracter (A sau B) care specifica tipul operatiei.

  • Daca este o operatie de tip A vor urma N*K numere care vor reprezenta o (N,K) permutare valida
  • Daca este o operatie de tip B va urma un numar natural X

Date de iesire

In fisierul de iesire nkperm.out se vor scrie T linii, fiecare reprezentand rezultatul operatiilor din fisierul de intrare, in ordinea in care au fost date:

  • Daca este o operatie de tip A se va afisa un numar natural X
  • Daca este o operatie de tip B se vor afisa N*K numere care vor reprezenta a X-a (N,K) permutare valida

Restrictii

  • 1 ≤ N ≤ 20
  • 1 ≤ K ≤ 5
  • 1 ≤ T ≤ 1.000
  • Se garanteaza ca pentru operatia A permutarea data va avea numarul de ordine mai mic ca 255
  • Se garanteaza ca pentru operatia B numarul X dat va fi mai mic ca 255

Exemplu

nkperm.innkperm.out
3 2 2
A 1 3 2 1 2 3
B 11
7
2 1 2 3 1 3

Explicatie

  1. 1 2 1 3 2 3
  2. 1 2 3 1 2 3
  3. 1 2 3 1 3 2
  4. 1 2 3 2 1 3
  5. 1 2 3 2 3 1
  6. 1 3 1 2 3 2
  7. 1 3 2 1 2 3
  8. 1 3 2 1 3 2
  9. 1 3 2 3 1 2
  10. 1 3 2 3 2 1
  11. 2 1 2 3 1 3
  12. 2 1 3 1 2 3
  13. 2 1 3 1 3 2
    ...
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content