Descripción del desafío
Dominoes es un juego que se juega con fichas con dos valores: uno a la izquierda, otro a la derecha, por ejemplo [2|4]
o [4|5]
. Se pueden unir dos mosaicos si contienen un valor común. Los dos mosaicos anteriores se pueden unir así:
[2|4][4|5]
Llamaremos a una secuencia de n
mosaicos unidos una cadena de longitud n. Por supuesto, las fichas se pueden rotar, por lo que las fichas [1|2]
, [1|3]
y [5|3]
se pueden reorganizar en una cadena [2|1][1|3][3|5]
de longitud 3.
Dada una lista de pares de enteros, determine la longitud de la cadena más larga que se puede formar con estos mosaicos. Si la lista está vacía, la respuesta correcta es 0
(tenga en cuenta que siempre puede formar una cadena de longitud a 1
partir de una lista no vacía de mosaicos).
Entrada / salida de muestra
[(0, -1), (1, -1), (0, 3), (3, 0), (3, 1), (-2, -1), (0, -1), (2, -2), (-1, 2), (3, -3)] -> 10
([-1|0][0|-1][-1|2][2|-2][-2|-1][-1|1][1|3][3|0][0|3][3|-3])
[(17, -7), (4, -9), (12, -3), (-17, -17), (14, -10), (-6, 17), (-16, 5), (-3, -16), (-16, 19), (12, -8)] -> 4
([5|-16][-16|-3][-3|12][12|-8])
[(1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1)] -> 7
([1|1][1|1][1|1][1|1][1|1][1|1][1|1])
[(0, 1), (2, 3), (4, 5), (6, 7), (8, 9), (10, 11)] -> 1
(any chain of length 1)
[] -> 0
(no chain can be formed)
O(n!)
como desee
I guess it's P