挑战说明
多米诺骨牌(Dominos)是一款带有两个值的图块-左边是一个值,右边是一个值,例如[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