Lotto |
Na Loteria alemã você tem que escolher N (determinado) números do conjunto C = {1,2,...,49}.
Uma estratégia popular de jogar na loteria - embora não acrescente sua chance de vencer - é escolher um subconjunto S contendo (k>N) elementos de C, e então jogar várias vezes com esse mesmo subconjunto de números..
Por exemplo, para k=8 e S = 1,2,3,5,8,13,21,34 existem 28 possíveis jogos: [1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34].
Seu trabalho é escrever um programa que lê um número k e o conjunto S, e em seguida mostra TODAS as possibilidades de jogos construidos de S (somente S).
O arquivo de entrada terá um ou mais conjuntos de teste.
Cada conjunto de teste consiste em duas linhas, a primeira contendo dois números. O primeiro número na linha será um k (6 < k < 13). O segundo número será um N.
A segunda linha é formada por k números separados por espaços, especificando o conjunto. Os números estarão em ordem crescente.
O arquivo de entrada terminará com um k = 0.
Para cada conjunto de teste, imprima TODOS os possíveis jogos de N escolhas, cada jogo em uma linha.
Os números de cada jogo deverão ser impressos em ordem crescente e separados um dos outros por exatamente um caractere de espaço. Os jogos em si devem ser ordenados em ordem lexicográfica, isso significa o menor número primeirot, em seguida o segundo menor e assim por diante. Essa ordenação será melhor entendida após ver a saída exemplo
Após cada conjunto, imprima um linha em branco.
7 6 1 2 3 4 5 6 7 8 6 1 2 3 5 8 13 21 34 0
1 2 3 4 5 6 1 2 3 4 5 7 1 2 3 4 6 7 1 2 3 5 6 7 1 2 4 5 6 7 1 3 4 5 6 7 2 3 4 5 6 7 1 2 3 5 8 13 1 2 3 5 8 21 1 2 3 5 8 34 1 2 3 5 13 21 1 2 3 5 13 34 1 2 3 5 21 34 1 2 3 8 13 21 1 2 3 8 13 34 1 2 3 8 21 34 1 2 3 13 21 34 1 2 5 8 13 21 1 2 5 8 13 34 1 2 5 8 21 34 1 2 5 13 21 34 1 2 8 13 21 34 1 3 5 8 13 21 1 3 5 8 13 34 1 3 5 8 21 34 1 3 5 13 21 34 1 3 8 13 21 34 1 5 8 13 21 34 2 3 5 8 13 21 2 3 5 8 13 34 2 3 5 8 21 34 2 3 5 13 21 34 2 3 8 13 21 34 2 5 8 13 21 34 3 5 8 13 21 34