Definim o permutare dublă de ordin n ca fiind un șir format din primele 2n numere naturale nenule:
(a[1], a[2], ... , a[n], a[n+1], a[n+2], ... , a[2n]). Această permutare dublă este de trei ori în creștere, dacă sunt adevărate următoarele trei proprietăți:
- secvența formată din primele
nelemente este crescătoare:a[1]<a[2]< ... < a[n] - secvența formată din ultimele
nelemente este crescătoare:a[n+1]<a[n+2]< ... < a[2n] - perechile ordonate formate din elementele aflate pe poziții identice ale celor două secvențe sunt de asemenea în ordine crescătoare:
a[1]<a[n+1], a[2]<a[n+2], ... , a[n]<a[2n].
De exemplu permutarea (1,3,4,2,5,6) este o permutare dublă de ordin 3, de trei ori în creștere, pentru că secvențele (1,3,4) și (2,5,6) formează șiruri crescătoare, iar toate perechile formate din elementele de pe poziții identice: (1,2), (3,5), (4,6) formează de asemenea șiruri crescătoare.
Următoarele permutări duble nu au proprietatea de trei ori în creștere:
(1,4,3,2,5,6)– secvența(1,4,3)nu este crescătoare,(1,3,4,2,6,5)– secvența(2,6,5)nu este crescătoare,(1,4,5,2,3,6)– perechea(4,3)nu este crescătoare.
Pentru simplificare în continuare permutarea dublă de trei ori în creștere se va numi permutare.
Vom considera toate permutările de ordin n ordonate lexicografic, numerotate începând cu 1. Tabelul de mai jos conține datele pentru n=3:
| pozitie | permutare |
| 1 | 1 2 3 4 5 6 |
| 2 | 1 2 4 3 5 6 |
| 3 | 1 2 5 3 4 6 |
| 4 | 1 3 4 2 5 6 |
| 5 | 1 3 5 2 4 6 |
Există două tipuri de întrebări:
- Ce permutare se află pe o poziție dată?
- Pe ce poziție se află o permutare dată?
Prima întrebare este codificată astfel: 1 n p și se compune din valorile: 1 – tipul întrebării, n – ordinul permutării, p – poziția permutării cerute.
A doua întrebare este codificată astfel: 2 n a[1] a[2] ... a[2n] și se compune din valorile: 2 – tipul întrebării, n – ordinul permutării, a[1] a[2] ... a[2n] – elementele permutării.
Exemple:
Întrebarea 1 3 2 înseamnă: “Ce permutare de ordin 3 se află pe poziția 2 în ordine lexicografică?” și are răspunsul: 1 2 4 3 5 6.
Întrebarea 2 3 1 3 5 2 4 6 înseamnă: “Pe ce poziție se află permutarea de ordin 3: 1 3 5 2 4 6?” și are răspunsul: 5.
Cerința
Să se răspundă corect la un set de întrebări.
Date de intrare
Fișierul de intrare permutare2.in conține pe fiecare linie câte o întrebare de orice tip.
Date de ieșire
Fișierul de ieșire permutare2.out va conține pe câte o linie câte un răspuns la fiecare întrebare din fișierul de intrare, în ordinea întrebărilor.
Restricții și precizări
2 < n < 1 000;0 < p <= 1 000 000 000(în cazul întrebărilor de tip1);- răspunsul la întrebările de tip
2este <=1 000 000 000; - fișierele de intrare vor conține cel mult
2000de întrebări; - pentru teste în valoare de 20 de puncte numărul de întrebări va fi
1000iar numerele de ordine ce intervin în calcule vor fi mai mici decât5000; - pentru teste în valoare de 30 de puncte întrebările vor fi de tipul 1;
- pentru teste în valoare de 30 de puncte întrebările vor fi de tipul 2;
- pentru teste în valoare de 30 de puncte întrebările vor fi mixte.
- În concurs s-au acordat 10 puncte din oficiu. Pe site se acordă 10 puncte pentru exemple.
Exemplu
permutare2.in
1 3 2 2 3 1 3 5 2 4 6 1 4 1 2 4 1 2 3 4 5 6 7 8
permutare2.out
1 2 4 3 5 6 5 1 2 3 4 5 6 7 8 1