Dominó

Dominó

Difícil

Instruções

Faz uma cadeia de dominós.

Calcula uma forma de ordenar um determinado conjunto de dominós de modo a que formem uma cadeia de dominós correta (os pontos numa metade de uma pedra coincidem com os pontos da metade vizinha de uma pedra adjacente) e a que os pontos das metades das pedras que não têm vizinho (a primeira e a última pedra) coincidam entre si.

Por exemplo, dadas as pedras [2|1], [2|3] e [1|3], deves calcular algo como [1|2] [2|3] [3|1] ou [3|2] [2|1] [1|3] ou [1|3] [3|2] [2|1], etc., em que o primeiro e o último números são iguais.

Para as pedras [1|2], [4|1] e [2|3] a cadeia resultante não é válida: o primeiro e o último números de [4|1] [1|2] [2|3] não são iguais. 4 != 3

Alguns casos de teste podem usar pedras duplicadas numa solução de cadeia; assume que estão a ser usados vários conjuntos de dominós.

Editar via GitHub A ligação abre numa nova janela ou separador
Haskell Exercism

Estás pronto para começar Dominó?

Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.