Come qualcuno a cui non si può disturbare a guardare i loro pentominos per vedere se ha una forma rettangolare, ho deciso di farti scrivere un programma che lo fa.
Il tuo compito
Dato un certo input diviso per le nuove righe contenenti 12 caratteri univoci, decidere se si tratta di una soluzione valida.
Una soluzione valida DEVE
- Hai 5 di ogni personaggio (tranne le nuove righe)
- Ogni set di caratteri deve essere completamente collegato
- Ogni set di personaggi deve avere una forma unica
- Essere in una normale forma rettangolare
Se è una soluzione valida, genera un valore di verità, altrimenti genera un valore di falsa.
Il tuo programma può essere una funzione o un programma completo ma deve portare l'input da stdin e l'output a stdout.
Casi test
Soluzioni valide
000111
203331
203431
22 444
2 46
57 666
57769!
58779!
58899!
5889!!
00.@@@ccccF111//=---
0...@@c))FFF1//8===-
00.ttttt)))F1/8888=-
Configurazioni non valide
invalid (doesn't contain 12 unique characters)
111112222233333444445555566666
77777888889999900000qqqqqwwwww (Each set has the same shape)
1234567890qw
w1234567890q
qw1234567890
0qw123456789
90qw12345678 (None of the characters are connected)
1234567890qw (Not 5 characters in every set)
1111122222333334444455555666666
77777888889999900000qqqqqwwwwww (More than 5 characters in some sets)
00
0
00.@@@ccccF111//=---
...@@c))FFF1//8===-
.ttttt)))F1/8888=- (Doesn't form a rectangular shape)