Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2007-11-20 15:27:40.
Revizia anterioară   Revizia următoare  

 

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 descriu operatiile

Date de iesire

In fisierul de iesire nkperm.out ...

Restrictii

  • 1 ≤ N ≤ 35
  • 1 ≤ K ≤ 10
  • 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?