Next: A entrada
Up: No Title
Previous: Exemplos
Dada uma pilha de panquecas, voc� deve escrever um programa que indica como a pilha pode ser ordenada de forma que a maior panqueca est� no fundo e a menor panqueca est� no topo. O tamanho de uma panqueca � dado pelo seu di�metro. Todas as panquecas de uma pilha t�m di�metros diferentes.
A ordena��o da pilha � feita atrav�s de uma seq��ncia de ``giros'' ( flips) de panquecas. Um giro consiste em inserir a esp�tula entre duas panquecas em uma pilha e girar (reverter) todas as panquecas que est�o em cima da esp�tula (revertendo a subpilha). Um giro � especificado dando a posi��o da panqueca da subpilha que ser� revertida (em rela��o � pilha completa). A panqueca do fundo da pilha inteira tem posi��o 1 e a panqueca do topo de uma pilha com panquecas tem posi��o .
Uma pilha � especificada dando o di�metro de cada panqueca da pilha na ordem em que as panquecas aparecem.
Por exemplo, considere as tr�s pilhas de panquecas abaixo (nas quais a panqueca 8 est� no topo da pilha mais � esquerda):
8 | 7 | 2 |
4 | 6 | 5 |
6 | 4 | 8 |
7 | 8 | 4 |
5 | 5 | 6 |
2 | 2 | 7 |
A pilha mais � esquerda pode ser transformada na pilha do meio fazendo a opera��o flip(3). A pilha do meio pode ser transformada na pilha � direita atrav�s do comando flip(1).
Carlos Eduardo Ferreira