Es gibt 21 Artikel in Mine dass Sie Handwerk nur mit Holz aus Holz gefertigt und Artikel:
Axt
Boot
Schüssel
Knopf
Brust
basteln Tisch
Tür
Zaun
Tor
Hacke
Leiter
Spitzhacke
Planken
Druckplatte
Schaufel
Zeichen
Platte
Treppe
Stock
Schwert
Falltür
Diese Liste geht davon aus, dass die 6 verschiedenen Arten von Holzbohlen / Platten / Türen / etc. Alle zählen als derselbe Gegenstand. Eine andere Möglichkeit ist die Annahme, dass Sie nur Zugang zu einer Holzart haben.
Jeder dieser 21 Gegenstände hat ein anderes Herstellungsrezept . Wir werden jedes dieser Rezepte als 2 × 2- oder 3 × 3-Raster der Zeichen darstellen .WPS
. Das .
ist ein leerer Handwerksplatz, W
ist für Holz , P
ist für Holzbretter und S
ist für Stöcke . Für diese speziellen Gegenstände werden keine weiteren Zeichen benötigt.
Zum Beispiel ist dies das Rezept für eine Truhe :
PPP
P.P
PPP
Herausforderung
Schreiben Sie ein Programm, das genau wie oben den Namen eines unserer 21 Gegenstände enthält, und drucken Sie ein gültiges Herstellungsrezept für diesen Gegenstand aus.
Handwerksrezepte sind übersetzungsunabhängig. Wenn die Eingabe also zutrifft, sind fence
beide gültig:
PSP
PSP
...
...
PSP
PSP
Wenn ein Rezept in ein 2 × 2-Raster passt, können Sie es in einem 2 × 2- oder 3 × 3-Raster ausgeben. zB stick
:
.P
.P
...
.P.
.P.
Rezepte können auch horizontal gespiegelt werden (um eine vertikale Symmetrielinie), obwohl dies nur für Axt, Hacke und Treppe einen Unterschied macht. zB hoe
:
.PP
.S.
.S.
PP.
.S.
.S.
Daher muss Ihr Programm jedes Rezept ausgeben, das in das Raster passt und die richtige Form hat (Übersetzung und Spiegelung ignorieren). Dies sind alle Rezepte, die das offizielle Spiel erkennt. (Beachten Sie, dass Rezepte nicht vertikal gedreht oder gespiegelt werden können.)
Einzelheiten
- Nehmen Sie Eingaben von stdin oder der Befehlszeile entgegen. Sie können davon ausgehen, dass die Eingabe immer gültig ist. Anführungszeichen für Eingaben (z
"chest"
. B. ) sind in Ordnung. - Ausgabe auf stdout (oder die nächstgelegene Alternative) mit optionalem Zeilenumbruch.
- Die kürzeste Übermittlung in Bytes gewinnt.
Beispiel
Hier ist eine Liste aller Ein- und Beispielausgaben:
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
...