Esta pregunta está inspirada y es la inversa de esta .
Dennis ( E
), Doorknob ( D
), Martin ( M
) y Chris ( C
) han pedido una pizza. La pizza rectangular se divide en piezas cuadradas, cada una de ellas marcada con el comedor deseado.
Escriba un programa o función que, dada una pizza rectangular que consta de 0 o más de cada letra, determine si:
Cada segmento para cada persona está conectado a la ruta . Esto significa que todas las letras que son iguales deben estar directamente adyacentes entre sí (sin conexiones diagonales).
El número de rebanadas por persona es el mismo para todos.
Debe generar un valor verdadero / falso con una nueva línea final opcional que indique si la pizza dada es o no justa.
Casos de prueba válidos:
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEDMMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
DEMC
DD
EE
MC
MC
EEDDMMMCCC
EEEDDDMMCC
Casos de prueba inválidos:
EDM
EDMCCMDE
DDDDDDDDDDDDMCCCCCCCCCCC
DEEEEEEEEEEDMMMMMMMCCCCC
DEEEEEEEEEEMDMMCCCCCCCCC
DEEEEEEEEEEDMMMMMMMMCCCC
DDDDDDDDDDDDMMMMMMMMMMMC
DDMMEECC
DMMEECCC
El código más corto en bytes gana.
DDDDDDDDDDDDD
<- una pizza justa