Cette question est inspirée et inverse de celle-ci .
Dennis ( E
), Doorknob ( D
), Martin ( M
) et Chris ( C
) ont commandé une pizza. La pizza rectangulaire est divisée en morceaux carrés, chacun marqué de son mangeur prévu.
Écrivez un programme ou une fonction qui, étant donné une pizza rectangulaire composée de 0 ou plus de chaque lettre, détermine si:
Chaque tranche pour chaque personne est connectée au chemin . Cela signifie que toutes les lettres identiques doivent être directement adjacentes les unes aux autres (pas de connexions diagonales).
Le nombre de tranches par personne est le même pour tous.
Vous devez générer une valeur de vérité / fausse avec un retour à la ligne facultatif qui indique si la pizza donnée est juste ou non.
Valises de test valides:
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEDMMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
DEMC
DD
EE
MC
MC
EEDDMMMCCC
EEEDDDMMCC
Cas de test non valides:
EDM
EDMCCMDE
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEMDMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
DDMMEECC
DMMEECCC
Le code le plus court en octets gagne.
DDDDDDDDDDDDD
<- une pizza juste