Sa consideram n obiecte, numerotate de la 1 la n. Din cele n obiecte se pot forma 2n-1 submultimi distincte nevide. Daca ordonam submultimile lexicografic putem asocia fiecarei submultimi un numar de ordine de la 1 la 2n-1.
De exemplu, pentru n=3 submultimile nevide în ordine lexicografica sunt:
Submultimea | {1} | {1, 2} | {1, 2, 3} | {1, 3} | {2} | {2, 3} | {3} |
Nr. de ordine | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Cerinta
Scrieti un program care sa implementeze cele doua operatii!
Date de intrare
Fisierul de intrare lex.in contine:Fisierul de iesire lex.out va contine m linii, câte una pentru fiecare operatie din fisierul de intrare. Pe fiecare linie va fi scris rezultatul unei operatii, în ordinea în care operatiile apar în fisierul de intrare. Daca operatia este de tip 1, în fisierul de iesire va fi afisat numarul de ordine al submultimii specificate în operatie. Daca operatia este de tip 2, în fisierul de iesire vor fi afisate elementele submultimii cu numarul de ordine specificat, separate prin spatii, în ordine crescatoare.
Restrictii
1 <= n
<= 30
1 <= m <= 1000
lex.in | lex.out |
3 3 2 3 1 2 2 3 2 7 |
1 2 3 6 3 |
prof. Emanuela Cerchez
Liceul de Informatica "Grigore Moisil"
Iasi
Contact:ema at mail.dntis.ro