Hay 21 elementos en Minecraft que puedes crear usando solo madera y elementos hechos de madera:
hacha
barco
tazón
botón
cofre
elaboración mesa
puerta
valla
puerta
azada
escalera
pico
tablones
placa de presión
pala
signo
losa
escaleras
palo
espada
trampa
Esta lista supone que los 6 tipos diferentes de tablones de madera / losas / puertas / etc. Todos cuentan como el mismo artículo. Otra forma de pensar es asumir que solo tienes acceso a un tipo de madera.
Cada uno de estos 21 artículos tiene una receta de elaboración diferente . Representaremos cada una de estas recetas como una cuadrícula de 2 × 2 o 3 × 3 de los personajes .WPS. El .es una ranura de hacer a mano vacía, Wes para la madera , Pes para los tablones de madera , y Ses para palos . No se necesitan otros personajes para estos elementos en particular.
Por ejemplo, esta es la receta para un cofre :
PPP
P.P
PPP
Reto
Escriba un programa que tome el nombre de uno de nuestros 21 artículos, exactamente como aparece arriba, e imprima una receta de elaboración válida para ese artículo.
Las recetas de elaboración son invariables en la traducción, por lo que si la entrada es fenceválida, ambas son válidas:
PSP
PSP
...
...
PSP
PSP
Si una receta cabe en una cuadrícula de 2 × 2, puede generarla en una cuadrícula de 2 × 2 o 3 × 3. por ejemplo stick:
.P
.P
...
.P.
.P.
Las recetas también se pueden reflejar horizontalmente (alrededor de una línea vertical de simetría), aunque esto solo hace una diferencia para el hacha, la azada y las escaleras. por ejemplo hoe:
.PP
.S.
.S.
PP.
.S.
.S.
Por lo tanto, la salida de cualquier receta que se ajuste a la cuadrícula y tenga la forma correcta (ignorando la traducción y la duplicación) es lo que su programa debe hacer. Estas son todas las recetas que el juego oficial reconocerá. (Tenga en cuenta que las recetas no se pueden girar ni reflejar verticalmente).
Detalles
- Tome la entrada de stdin o la línea de comando. Puede suponer que la entrada siempre es válida. Requerir comillas alrededor de la entrada (por ejemplo
"chest") está bien. - Salida a stdout (o alternativa más cercana) con una nueva línea final opcional.
- La presentación más corta en bytes gana.
Ejemplo
Aquí hay una lista de todas las entradas y salidas de muestra:
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
...