Fişierul intrare/ieşire: | bile3.in, bile3.out | Sursă | ONI 2008, clasa a 10-a |
Autor | Emanuela Cerchez | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 9216 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Bile3
Bogdan a primit de ziua sa un joc foarte ingenios. Jocul este constituit dintr-o cutie cu doua compartimente. Initial in primul compartiment se afla k bile (numerotate de la 1 la k), iar in al doilea compartiment se afla n - k bile (numerotate de la k + 1 la n).
Cele doua compartimente comunica printr-o usita basculanta speciala care are doua lacasuri. Un lacas se afla in compatimentul 1, iar celalalt in compartimentul 2. intr-un lacas poate sa incapa o singura bila.
Vasile poate alege o bila din compartimentul 1 si o bila din compartimentul 2, sa plaseze bilele alese in cele doua lacasuri ale usitei si sa roteasca usita. Astfel bila din compartimentul 1 va trece in compartimentul 2, iar bila din compartimentul 2 va trece in compartimentul 1.
Aceasta este singura mutare posibila.
Scopul jocului este de a executa o succesiune de mutari astfel incat in compartimentul 1 sa se obtina succesiv toate submultimile distincte de k elemente ale multimii {1, 2, ..., n}.
Cerinta
Scrieti un program care sa afiseze submultimile de k elemente ale multimii {1, 2, ..., n} in ordinea in care acestea pot fi obtinute in compartimentul 1 cu ajutorul usitei basculante.
Date de intrare
Fisierul de intrare bile3.in va contine pe prima linie numerele naturale n si k, separate printr-un spatiu.
Date de iesire
Fisierul de iesire bile3.out va contine cate o linie pentru fiecare submultime obtinuta in compartimentul 1. Pe fiecare linie vor fi scrise in ordine crescatoare k numere naturale din multimea {1, 2, ..., n}, separate prin cate un spatiu, reprezentand elementele submultimii. Pe prima linie va fi afisata submultimea initiala (adica numerele 1 2 ... k).
Restrictie
- 1 ≤ k < n ≤ 20
- Solutia nu este unica, puteti afisa oricare dintre variantele corecte.
Exemplu
bile3.in | bile3.out |
---|---|
4 2 | 1 2 1 3 1 4 2 4 2 3 3 4 |
Explicatie
La prima mutare au fost plasate in usita basculanta bila 2 (din compartimentul 1) si bila 3 (din compartimentul 2).
La a doua mutare au fost alese bilele 3 si 4.
La a treia mutare au fost alese bilele 1 si 2.
La a patra mutare au fost alese bilele 4 si 3.
Iar la ultima mutare au fost alese bilele 2 si 4.