Existem 21 itens no Minecraft que você pode criar usando apenas madeira e itens criados a partir de madeira:
machado
barco
tigela
botão
no peito
elaboração de mesa
porta
cerca
portão
enxada
escada
picareta
pranchas de
placa de pressão
pá
sinal
laje
escadas
ficar
espada
alçapão
Esta lista pressupõe que os 6 tipos diferentes de pranchas / lajes / portas de madeira / etc. todos contam como o mesmo item. Outra maneira de pensar é assumir que você só tem acesso a um tipo de madeira.
Cada um desses 21 itens tem uma receita de artesanato diferente . Representaremos cada uma dessas receitas como uma grade 2 × 2 ou 3 × 3 dos caracteres .WPS. O .slot para criação é vazio, Wé para madeira , Pé para pranchas de madeira e Sé para paus . Nenhum outro caractere é necessário para esses itens em particular.
Por exemplo, esta é a receita para um baú :
PPP
P.P
PPP
Desafio
Escreva um programa com o nome de um de nossos 21 itens, exatamente como aparece acima, e imprima uma receita de fabricação válida para esse item.
As receitas de criação são invariantes à tradução; portanto, se a entrada for fence, ambas são válidas:
PSP
PSP
...
...
PSP
PSP
Se uma receita se encaixa em uma grade 2 × 2, você pode produzi-la em uma grade 2 × 2 ou 3 × 3. por exemplo stick:
.P
.P
...
.P.
.P.
As receitas também podem ser espelhadas horizontalmente (em torno de uma linha vertical de simetria), embora isso só faça diferença para o machado, a enxada e as escadas. por exemplo hoe:
.PP
.S.
.S.
PP.
.S.
.S.
Portanto, a saída de qualquer receita que se encaixe na grade e tenha a forma correta (ignorando a tradução e o espelhamento) é o que o seu programa precisa fazer. Estas são todas as receitas que o jogo oficial reconhecerá. (Observe que as receitas não podem ser giradas ou espelhadas verticalmente.)
Detalhes
- Receba as informações do stdin ou da linha de comando. Você pode assumir que a entrada é sempre válida. Exigir aspas em torno da entrada (por exemplo
"chest") é bom. - Saída para stdout (ou alternativa mais próxima) com uma nova linha à direita opcional.
- O menor envio em bytes vence.
Exemplo
Aqui está uma lista de todas as entradas e saídas de amostra:
axe
PP.
SP.
S..
boat
P.P
PPP
...
bowl
P.P
.P.
...
button
P.
..
chest
PPP
P.P
PPP
crafting table
PP
PP
door
PP.
PP.
PP.
fence
PSP
PSP
...
gate
SPS
SPS
...
hoe
PP.
S..
S..
ladder
S.S
SSS
S.S
pickaxe
PPP
.S.
.S.
planks
W.
..
pressure plate
PP
..
shovel
P..
S..
S..
sign
PPP
PPP
.S.
slab
PPP
...
...
stairs
P..
PP.
PPP
stick
P.
P.
sword
P..
P..
S..
trapdoor
PPP
PPP
...