SPOJ Brasil

Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.

SPOJ Problem Set (seletivas)

2838. Brincadeira das Tentativas

Problema: TENTA

Cansados de brincar de bafo, Aldo e Beto inventaram uma nova brincadeira: um deles escolhe algumas de suas figurinhas, coloca-as em uma ordem qualquer e não a mostra para o outro, apenas informando quais figurinhas foram selecionadas. O outro, então, deve tentar adivinhar em qual ordem as figurinhas estão.

Após algumas rodadas da brincadeira, eles perceberam que a tarefa de tentar adivinhar a ordem das figurinhas pode ser bastante custosa, especialmente se o número de figurinhas for grande. Perder-se nas tentativas, esquecendo de tentar algumas opções e tentando outras mais de uma vez, não é nada difícil.

Querendo dar uma de esperto, Aldo teve a idéia de criar um programa de computador que dê, para as figurinhas selecionadas, todas as possibilidades de ordenação daquelas. Porém, como Aldo não sabe programar, ele pede que você faça tal programa.

Entrada

A entrada é composta por vários casos de teste, um por linha. Um caso de teste é iniciado com um número inteiro n (1 <= n <= 8), indicando a quantidade de figurinhas selecionadas. A seguir, são dados n números inteiros distintos, correspondentes aos números das figurinhas selecionadas. Cada número de figurinha é tal que seu valor absoluto é menor que 1000000000.

A entrada termina quando n = 0, caso que não deve ser processado.

Saída

Para cada caso de teste, seu programa deve imprimir uma lista de possibilidades de ordenação das figurinhas. Cada possibilidade de ordenação deve estar em uma linha, na qual devem ser impressos os números das figurinhas, na ordem correspondente, com exatamente um espaço entre cada número.

Imprima as possibilidades de ordenação em ordem lexicográfica. Por esta ordem, uma possibilidade de ordenação a1, ..., an deve ser impressa antes de outra b1, ..., bn se, para um determinado k (1 <= k <= n), temos o seguinte:

  • ai = bi, para todo i < k (i > 0); e
  • ak < bk.

Deixe uma linha em branco entre as saídas de cada caso de teste.

Exemplo

Entrada:
3 10 20 30
2 1 2
2 2 1
0

Saída:
10 20 30
10 30 20
20 10 30
20 30 10
30 10 20
30 20 10

1 2
2 1

1 2
2 1

Adicionado por:Wanderley Guimarães
Data:2008-07-08
Tempo limite:3s
Tamanho do fonte:50000B
Linguagem permitida:Todas exceto: AWK CLOJ ERL F# GO JS PERL 6 SCALA SED TCL
Origem:Primeira prova de TEP - 2008/1 - UFRJ

SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.