도전 설명
도미노 는 왼쪽에 하나, 오른쪽에 하나 [2|4]
또는 두 개의 값이있는 타일로 재생되는 게임 [4|5]
입니다. 공통 값을 포함하는 두 타일은 함께 결합 될 수 있습니다. 위의 두 타일은 다음과 같이 결합 될 수 있습니다.
[2|4][4|5]
n
결합 된 타일 시퀀스 를 길이 n 의 체인 이라고합니다. 물론, 타일은 타일 있도록 회전 될 수있다 [1|2]
, [1|3]
및 [5|3]
체인으로 재 배열 될 수있는 [2|1][1|3][3|5]
길이 3.
정수 쌍의 목록이 주어지면이 타일을 사용하여 형성 할 수있는 가장 긴 체인의 길이를 결정하십시오. 목록이 비어 있으면 정답입니다 0
( 1
빈 타일 목록에서 항상 길이 체인을 형성 할 수 있음 ).
샘플 입력 / 출력
[(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!)
합니다. 원하는대로 해고하십시오
I guess it's P