Mô tả thử thách
Dominoes là một trò chơi được chơi với các ô có hai giá trị trên đó - một ở bên trái, một ở bên phải, ví dụ [2|4]hoặc [4|5]. Hai gạch có thể được nối với nhau nếu chúng chứa một giá trị chung. Hai gạch ở trên có thể được nối như thế này:
[2|4][4|5]
Chúng ta sẽ gọi một chuỗi các nô đã nối là một chuỗi có độ dài n. Tất nhiên, gạch có thể được luân chuyển, vì vậy gạch [1|2], [1|3]và [5|3]có thể được sắp xếp lại thành một chuỗi [2|1][1|3][3|5]có độ dài 3.
Đưa ra một danh sách các cặp số nguyên, xác định độ dài của chuỗi dài nhất có thể được hình thành bằng cách sử dụng các ô này. Nếu danh sách trống, câu trả lời đúng là 0(lưu ý rằng bạn luôn có thể tạo thành một chuỗi độ dài 1từ danh sách gạch không trống).
Đầu vào / đầu ra mẫu
[(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!)như bạn muốn
I guess it's P