Come probabilmente ora, ci sono 2339 soluzioni per il pentomino in una griglia 6x10. Esistono diversi schemi di etichettatura per i 12 pentomini, due di questi sono mostrati nell'immagine qui sotto:
Credito d'immagine: Wikipedia
Ai fini del presente compito diremo che una soluzione pentomino normalizzata è una soluzione che utilizza il secondo schema di etichettatura (Conway).
Esempio:
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
Il pezzo con 5 quadrati di fila è indicato con lettere O
, secondo lo schema. Lo stesso vale per tutti i pezzi.
Compito:
Data una soluzione al pentomino 6x10 in cui i pezzi sono etichettati con uno sheme casuale, normalizzalo in modo che tutti i pezzi siano etichettati nello schema di etichettatura di Conway. Devi riconoscere i pezzi e contrassegnare ogni quadrato di un particolare pezzo con il simbolo del pezzo.
Ingresso:
La soluzione da normalizzare, in qualsiasi formato che è conveniente per te, ad esempio:
Una stringa multilinea
Un elenco di stringhe
Un elenco di elenchi di caratteri
e così via
Produzione:
La stessa soluzione (tutte le posizioni e l'orientamento dei pezzi conservati), ma ogni pezzo etichettato secondo lo schema di etichettatura di Conway. Nota: l'output DEVE essere STAMPATO come una griglia di caratteri 6x10. Sono consentiti spazi e linee guida iniziali e finali. Puoi anche stampare uno spazio tra i caratteri (ma non le righe vuote), come nell'esempio sopra.
Casi test:
1. Ingresso:
6623338888
6222344478
66A234BB70
1AAA94B770
11A99BB700
1199555550
Produzione:
UURTTTQQQQ
URRRTVVVSQ
UUXRTVZZSY
PXXXWVZSSY
PPXWWZZSYY
PPWWOOOOOY
2. Ingresso:
45ookkkk00
455ooogk00
4a55gggdd0
4aaa3gnnd.
4am333ndd.
mmmm3nn...
Produzione:
OWSSQQQQPP
OWWSSSRQPP
OTWWRRRUUP
OTTTXRZZUV
OTYXXXZUUV
YYYYXZZVVV
Criteri vincenti:
Vince la soluzione più breve in byte in ogni lingua. Non lasciarti scoraggiare dalle lingue del golf. Le spiegazioni degli algoritmi e delle implementazioni sono benvenute.