В Minecraft есть 21 предмет, который вы можете изготовить, используя только дерево и предметы из дерева:
топор
лодка
чаша
пуговица
сундук
стол стол
дверь
забор
ворота
мотыга
лестница
кирка
доски прижимная
плита
лопата
знак
плита
лестницы
палка
меч
люк
Этот список предполагает, что 6 различных типов деревянных досок / плит / дверей / и т. Д. все считаются одним и тем же предметом. Другой способ думать об этом - предположить, что у вас есть доступ только к одному виду древесины.
У каждого из этих 21 предметов есть свой рецепт крафта . Мы представим каждый из этих рецептов в виде сетки символов 2 × 2 или 3 × 3 .WPS
. .
Является пустым слотом крафта, W
для дерева , P
для деревянных досок , иS
для палок . Никакие другие символы не нужны для этих конкретных предметов.
Например, это рецепт сундука :
PPP
P.P
PPP
Вызов
Напишите программу, которая берет название одного из наших 21 предметов в точности так, как оно указано выше, и печатает действительный рецепт крафта для этого предмета.
Рецепты крафта являются инвариантными для перевода, поэтому, если входные fence
данные являются действительными:
PSP
PSP
...
...
PSP
PSP
Если рецепт помещается в сетку 2 × 2, вы можете вывести его в сетку 2 × 2 или 3 × 3. например stick
:
.P
.P
...
.P.
.P.
Рецепты также могут быть отражены горизонтально (вокруг вертикальной линии симметрии), хотя это имеет значение только для топора, мотыги и лестницы. например hoe
:
.PP
.S.
.S.
PP.
.S.
.S.
Таким образом, вывод любого рецепта, который вписывается в сетку и имеет правильную форму (игнорируя перевод и зеркальное отображение), - это то, что нужно вашей программе. Это все рецепты, которые официальная игра распознает. (Обратите внимание, что рецепты не могут быть повернуты или отражены вертикально.)
Детали
- Возьмите ввод из стандартного ввода или командной строки. Вы можете предположить, что ввод всегда действителен. Требовать кавычки вокруг ввода (например
"chest"
) хорошо. - Вывести на стандартный вывод (или ближайшую альтернативу) с необязательным завершающим переводом строки.
- Самая короткая подача в байтах побеждает.
пример
Вот список всех входов и примеров выходов:
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
...