Meydan açıklaması
Domino , üzerinde iki değere sahip çini ile oynanan bir oyundur - biri solda, biri sağda, örneğin [2|4]veya [4|5]. Ortak bir değer içeriyorlarsa iki kiremit birleştirilebilir. Yukarıdaki iki fayans şu şekilde birleştirilebilir:
[2|4][4|5]
nBirleştirilmiş karolar dizisini n uzunluklu bir zincir olarak adlandıracağız. Tabii ki, fayans çinileri, böylece döndürülebilir [1|2], [1|3]ve [5|3]bir zincir haline yeniden düzenlenebilir [2|1][1|3][3|5]uzunluğu 3.
Bir tamsayı çifti listesi göz önüne alındığında, bu karolar kullanılarak oluşturulabilecek en uzun zincirin uzunluğunu belirleyin. Liste boşsa, doğru cevap 0( 1boş olmayan bir döşeme listesinden her zaman bir uzunluk zinciri oluşturabileceğinizi unutmayın ).
Örnek giriş / çıkış
[(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!)istediğin gibi ateş et
I guess it's P