Comme vous le savez probablement maintenant, il existe 2339 solutions au puzzle pentomino dans une grille 6x10. Il existe différents schémas d'étiquetage pour les 12 pentominos, dont deux sont illustrés sur l'image ci-dessous:
Crédit d'image: Wikipedia
Aux fins de la tâche actuelle, nous dirons qu'une solution de pentomino normalisée est une solution qui utilise le deuxième schéma d'étiquetage (Conway).
Exemple:
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
La pièce à 5 carrés consécutifs est désignée par des lettres O
, selon le schéma. La même chose est vraie pour toutes les pièces.
Tâche:
Étant donné une solution au pentomino 6x10 dans lequel les pièces sont étiquetées avec un schéma aléatoire, normalisez-la afin que toutes les pièces soient étiquetées dans le schéma d'étiquetage de Conway. Vous devez reconnaître les pièces et marquer chaque carré d'une pièce particulière avec le symbole de la pièce.
Contribution:
La solution à normaliser, dans n'importe quel format qui vous convient, par exemple:
Une chaîne multiligne
Une liste de chaînes
Une liste de listes de personnages
etc
Production:
La même solution (toutes les positions et orientations des pièces sont conservées), mais chaque pièce est étiquetée selon le schéma d'étiquetage de Conway. Remarque: La sortie DOIT être IMPRIMÉE sous forme d'une grille de 6 x 10 caractères. Les nouvelles lignes et les espaces de début et de fin sont autorisés. Vous pouvez également imprimer un espace entre les caractères (mais pas les lignes vides), comme dans l'exemple ci-dessus.
Cas de test:
1. Entrée:
6623338888
6222344478
66A234BB70
1AAA94B770
11A99BB700
1199555550
Production:
UURTTTQQQQ
URRRTVVVSQ
UUXRTVZZSY
PXXXWVZSSY
PPXWWZZSYY
PPWWOOOOOY
2. Entrée:
45ookkkk00
455ooogk00
4a55gggdd0
4aaa3gnnd.
4am333ndd.
mmmm3nn...
Production:
OWSSQQQQPP
OWWSSSRQPP
OTWWRRRUUP
OTTTXRZZUV
OTYXXXZUUV
YYYYXZZVVV
Critères gagnants:
La solution la plus courte en octets dans chaque langue l'emporte. Ne vous laissez pas décourager par les langues de golf. Les explications des algorithmes et des implémentations sont les bienvenues.