Istnieje 21 przedmiotów w Minecraft , że można craft używając tylko drewno i elementy spreparowany z drewna:
ax
łódź
miska
przycisk
skrzynia
Crafting table
drzwi
płot
brama
motyka
drabina
kilof
deski
płyta dociskowa
łopata
znak
płaskie
schody
trzymać
miecz
klapę
Ta lista zakłada, że 6 różnych rodzajów desek / płyt / drzwi / itp. wszystkie są liczone jako ten sam element. Innym sposobem na to jest założenie, że masz dostęp tylko do jednego rodzaju drewna.
Każdy z tych 21 przedmiotów ma inny przepis rzemieślniczy . Będziemy reprezentować każdy z tych przepisów jako siatkę postaci 2 × 2 lub 3 × 3 .WPS. To .puste miejsce rzemieślnicze, Wprzeznaczone do drewna , Pdo desek drewnianych i Sdo patyków . Dla tych konkretnych przedmiotów nie są potrzebne żadne inne postacie.
Na przykład jest to przepis na skrzynię :
PPP
P.P
PPP
Wyzwanie
Napisz program, który przyjmuje nazwę jednego z naszych 21 przedmiotów, dokładnie tak, jak pokazano powyżej, i drukuje prawidłowy przepis rzemieślniczy na ten przedmiot.
Receptury rzemieślnicze są niezmienne w tłumaczeniu, więc jeśli dane wejściowe są fence, oba są poprawne:
PSP
PSP
...
...
PSP
PSP
Jeśli przepis mieści się w siatce 2 × 2, możesz wyprowadzić go w siatce 2 × 2 lub 3 × 3. np . stick:
.P
.P
...
.P.
.P.
Przepisy można również odzwierciedlać poziomo (wokół pionowej linii symetrii), choć ma to znaczenie tylko dla siekiery, motyki i schodów. np . hoe:
.PP
.S.
.S.
PP.
.S.
.S.
Tak więc program musi wypisać dowolny przepis, który mieści się w siatce i ma prawidłowy kształt (ignorując tłumaczenie i tworzenie kopii lustrzanych). Są to wszystkie przepisy, które rozpozna oficjalna gra. (Pamiętaj, że przepisów nie można obracać ani kopiować w pionie).
Detale
- Weź dane wejściowe ze standardowego wejścia lub wiersza poleceń. Możesz założyć, że dane wejściowe są zawsze prawidłowe. Wymaganie cudzysłowu wokół danych wejściowych (np.
"chest") Jest w porządku. - Wyjście na standardowe wyjście (lub najbliższą alternatywę) z opcjonalnym końcowym znakiem nowej linii.
- Najkrótsze przesłanie w bajtach wygrywa.
Przykład
Oto lista wszystkich danych wejściowych i przykładowych danych wyjściowych:
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
...