Deskripsi tantangan
Domino adalah permainan yang dimainkan dengan ubin dengan dua nilai di atasnya - satu di sebelah kiri, satu di sebelah kanan, misalnya [2|4]atau [4|5]. Dua ubin bisa digabung bersama jika mengandung nilai yang sama. Dua ubin di atas dapat digabungkan seperti ini:
[2|4][4|5]
Kami akan menyebut urutan nubin yang bergabung dengan rantai panjang n. Tentu saja, ubin bisa diputar, jadi ubin [1|2], [1|3]dan [5|3]bisa disusun ulang menjadi rantai [2|1][1|3][3|5]dengan panjang 3.
Diberikan daftar pasang bilangan bulat, tentukan panjang rantai terpanjang yang dapat dibentuk menggunakan ubin ini. Jika daftar kosong, jawaban yang benar adalah 0(perhatikan bahwa Anda selalu dapat membentuk rantai panjang 1dari daftar ubin yang tidak kosong).
Contoh input / output
[(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!)sesuai keinginan Anda
I guess it's P