Wie Sie höchstwahrscheinlich jetzt wissen, gibt es 2339 Lösungen für Pentomino-Rätsel in einem 6x10-Raster. Es gibt verschiedene Markierungsschemata für die 12 Pentominos. Zwei davon sind in der folgenden Abbildung dargestellt:
Bildnachweis: Wikipedia
Für die Zwecke der aktuellen Aufgabe werden wir sagen, dass eine normalisierte Pentominolösung eine Lösung ist, die das zweite Markierungsschema (Conways) verwendet.
Beispiel:
O O O O O S S S Z Z
P P R R S S W W Z V
P P P R R W W Z Z V
U U X R T W Y V V V
U X X X T Y Y Y Y Q
U U X T T T Q Q Q Q
Das Stück mit 5 Quadraten in einer Reihe wird O
laut Schema mit Buchstaben bezeichnet . Gleiches gilt für alle Teile.
Aufgabe:
Bei einer Lösung für das 6x10-Pentomino, bei der die Teile mit einem zufälligen Schema gekennzeichnet sind, normieren Sie es so, dass alle Teile in Conways Kennzeichnungsschema gekennzeichnet sind. Sie müssen die Teile erkennen und jedes Quadrat eines bestimmten Teils mit dem Symbol des Teils markieren.
Eingang:
Die zu normalisierende Lösung in jedem für Sie passenden Format, zum Beispiel:
Eine mehrzeilige Zeichenfolge
Eine Liste von Zeichenfolgen
Eine Liste mit Listen von Zeichen
und so weiter
Ausgabe:
Dieselbe Lösung (alle Positionen und Ausrichtungen der Teile bleiben erhalten), aber jedes Teil wird gemäß dem Beschriftungsschema von Conway beschriftet. Hinweis: Die Ausgabe MUSS als 6x10-Zeichenraster gedruckt werden. Führende und nachfolgende Zeilenumbrüche und Leerzeichen sind zulässig. Sie können auch ein Leerzeichen zwischen den Zeichen (aber keine Leerzeilen) drucken, wie im obigen Beispiel.
Testfälle:
1. Eingabe:
6623338888
6222344478
66A234BB70
1AAA94B770
11A99BB700
1199555550
Ausgabe:
UURTTTQQQQ
URRRTVVVSQ
UUXRTVZZSY
PXXXWVZSSY
PPXWWZZSYY
PPWWOOOOOY
2. Eingabe:
45ookkkk00
455ooogk00
4a55gggdd0
4aaa3gnnd.
4am333ndd.
mmmm3nn...
Ausgabe:
OWSSQQQQPP
OWWSSSRQPP
OTWWRRRUUP
OTTTXRZZUV
OTYXXXZUUV
YYYYXZZVVV
Gewinnkriterien:
Die kürzeste Lösung in Bytes in jeder Sprache gewinnt. Lassen Sie sich von den Golfsprachen nicht entmutigen. Erklärungen zu den Algorithmen und Implementierungen sind willkommen.