Em Toyland, os comboios andam sempre ocupados a entregar tesouros por toda a cidade, desde berlindes brilhantes a blocos de construção raros. Os carris por onde circulam são feitos de peças coloridas em forma de dominó, cada uma marcada com dois números. Para que os comboios se movam, os dominós têm de formar uma cadeia perfeita em que os números coincidem.
Hoje, uma entrega urgente de brinquedos raros está em espera. Deram-te um conjunto de peças de carril para inspecionares. Se conseguirem formar uma cadeia contínua, o comboio segue viagem, levando sorrisos por toda a Toyland. Caso contrário, o conjunto é descartado e tenta-se outro.
Os brinquedos contam contigo para resolveres este puzzle. Será que os dominós vão ligar os carris e pôr o comboio a andar, ou será que o conjunto fica para trás?
Constrói uma cadeia de dominós.
Calcula uma forma de ordenar um conjunto de pedras de dominó para que formem uma cadeia de dominós válida. Na cadeia, os pontos de uma metade de uma pedra têm de corresponder aos pontos da metade vizinha de uma pedra adjacente. Além disso, os pontos das metades das pedras sem vizinhos (a primeira e a última pedra) têm de corresponder 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úmero 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úmero 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.
Inscreve-te no Exercism para aprenderes e dominares Python com 17 conceitos146 exercícios, e mentoria humana real, tudo grátis.