artes plasticas
O problema começa com cada bloco na sua posição inicial sobre a mesa e, depois de uma série de comandos válidos, deve terminar em uma configuração final. Na figura a seguir é apresentado um exemplo para 5 blocos (n=5), sendo (a) a configuração inicial e (b) a configuração final.
Os comandos válidos para o braço de robô manipular os blocos são listados a seguir.
Usa-se a para indicar o bloco em movimento e b como bloco de referência.
mover a acima b: move o bloco a para cima do bloco b retornando eventuais blocos que já estiverem sobre a ou b para as suas posições originais.
mover a topo b: coloca o bloco a no topo do monte onde está o bloco b retornando eventuais blocos que já estiverem sobre a às suas posições originais.
empilhar a acima b: coloca o bloco a juntamente com todos os blocos que estiverem sobre ele em cima do bloco b, retornando eventuais blocos que já estiverem sobre b as suas posições originais.
0 1 2 3 4 4
1
0 3
2
(a) (b)
0 1 2 3 4 ... n-1
Ciência da Computação – 3ª Série – Estrutura de Dados
Jaqueline Brigladori Pugliesi, Jeanne Dobgenski, Marcelo Augusto Cicogna
Pág. 3 de 7
empilhar a topo b: coloca o bloco a juntamente com todos os blocos que estiverem sobre ele no topo do monte onde está o bloco b.
encontrar maior: encontra o