Voltar

uCoder | 1320 | Nível: 4 | Tempo Limite: 5

Logística de Container

Adaptado por Erich Rodrigues

Competição: Interfatecs 2017 1ª Fase


Você acabou de ingressar na equipe de TI da empresa WA Exportações, a qual trabalha com exportações para empresas brasileiras. Uma empresa que queira exportar seus produtos deve colocar seus produtos em caixas e enviá-las para o Porto de Santos, onde atua a WA Exportações. Tais caixas são colocadas sobre Pallets (suporte de madeira) e acomodadas em Containers para serem transportados pelos navios. Cada Container tem 8 metros de comprimento. Os Pallets variam de 1, 2, 3 e 4 metros de comprimento. Para simplificar vamos assumir que os Pallets possuem a mesma largura e altura dos Containers.

A WA Exportações possui uma cota de 50 Containers e a logística de preenchimento dos Containers é a seguinte: cada Pallet recebe um número sequencial de identificação, iniciando em 1, e de acordo com seu comprimento é colocado no primeiro Container onde couber. Os Containers também possuem uma numeração sequencial iniciando em 1. Um novo Container é utilizado quando o anterior já está totalmente preenchido ou quando o Pallet a ser acomodado não cabe totalmente no Container atual. A Figura 1 ilustra o preenchimento dos Containers de acordo com a sequência de entrada do Exemplo 1. O número dentro do círculo é a identificação de cada Pallet dentro do Container, e recebe esta identificação de acordo com a ordem de chegada. O comprimento de cada Pallet (1, 2, 3 ou 4 metros) é mostrado no lado externo do Container e corresponde ao comprimento indicado na entrada.

 

Um problema enfrentado pela empresa é a identificação do Container que contém um determinado Pallet depois que os mesmos já foram alocados. Seu “teste de batismo” na empresa será criar um sistema que, dado o número de sequência de um Pallet, dizer em qual Container ele foi alocado e também mostrar quais Pallets devem ser retirados para chegar até o Pallet procurado. Note ainda que os Pallets só podem entrar e sair do Container pela porta dianteira, indicada na Figura 1 pela seta.

 


Entrada

A primeira linha da entrada contém até 400 números, cada qual indicando o comprimento de um Pallet (1, 2, 3 ou 4 metros), e separados por um espaço em branco. O conjunto de pallets sempre caberá nos 50 containers disponíveis. Cada uma das próximas linhas contém um número inteiro N (1 ≤ N ≤ 400), indicando o número de sequência de um Pallet procurado.


Saída

Para cada Pallet procurado, imprima na saída o número do Pallet procurado, o número do Container e o número dos Pallets que devem ser retirados para se ter acesso ao Pallet dentro do Container. Imprima a palavra TOPO para indicar que não existem Pallets obstruindo o acesso ao Pallet procurado. Note que existe um espaço entre cada palavra e valor apresentado na saída. Finalize cada linha, inclusive a última, com uma quebra de linha.


Exemplo de Entrada Exemplo de Saída

4 4 3 3 3 2 2 2 2
3
5
6
9

Pallet 3 Container 2 Retirar 6 4
Pallet 5 Container 3 Retirar 8 7
Pallet 6 Container 2 TOPO
Pallet 9 Container 4 TOPO

3 3 3 3 1 1 2 3 3
5
6
8
9

Pallet 5 Container 1 Retirar 6
Pallet 6 Container 1 TOPO
Pallet 8 Container 3 Retirar 9
Pallet 9 Container 3 TOPO

1 2 1 3 2 1 2 1 2 1 3 1 2 3 1 1 1
9
12
6

Pallet 9 Container 2 Retirar 10
Pallet 12 Container 3 Retirar 16 15 13
Pallet 6 Container 1 TOPO