Dominó

Dominó

Difícil

Instrucciones

Forma una cadena de dominó.

Calcula una forma de ordenar un conjunto dado de fichas de dominó de manera que formen una cadena de dominó correcta (los puntos de una mitad de una ficha coinciden con los puntos de la mitad vecina de una ficha adyacente) y que los puntos de las mitades de las fichas que no tienen vecina (la primera y la última ficha) coincidan entre sí.

Por ejemplo, dadas las fichas [2|1], [2|3] y [1|3], debes calcular algo como [1|2] [2|3] [3|1] o [3|2] [2|1] [1|3] o [1|3] [3|2] [2|1], etc., donde el primer y el último número son iguales.

Para las fichas [1|2], [4|1] y [2|3], la cadena resultante no es válida: el primer y el último número de [4|1] [1|2] [2|3] no son iguales. 4 != 3

Algunos casos de prueba pueden usar fichas duplicadas en la solución de una cadena; supón que se están usando varios juegos de dominó.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Haskell Exercism

¿Todo listo para empezar Dominó?

Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.