Pozitif tamsayıların bir listesi göz önüne alındığında, oluşturabilecekleri üçgen sayısını, yan uzunluklarının giriş listesinin üç ayrı girişi ile temsil edileceği şekilde bulun.
(İlham gelir CR .)
ayrıntılar
- Eğer bir üçgen oluşturulabilir her üç yan uzunluklarının permütasyon yerine sıkı üçgen eşitsizliği (Bu, , ve hepsinin tutması gerektiği anlamına gelir .)
- Üç yan uzunluk listedeki farklı konumlarda görünmelidir, ancak mutlaka çift olarak ayrı olması gerekmez.
- Giriş listesindeki üç sayının sırası önemli değildir. Bir liste
a
ve üç sayınına[i], a[j], a[k]
(i,j,k
çift olarak farklı olduğu yerlerde )(a[i],a[j],a[k]), (a[i],a[k],a[j]), (a[j], a[i], a[k])
dikkate alınması durumunda, vb. Hepsi aynı üçgen olarak kabul edilir . - Giriş listesinin en az 3 giriş içerdiği varsayılabilir.
- Giriş listesinin artan düzende sıralandığını varsayabilirsiniz.
Örnekler
Küçük bir test programı burada çevrimiçi olarak bulunabilir !
Input, Output:
[1,2,3] 0
[1,1,1] 1
[1,1,1,1] 4
[1,2,3,4] 1
[3,4,5,7] 3
[1,42,69,666,1000000] 0
[12,23,34,45,56,67,78,89] 34
[1,2,3,4,5,6,7,8,9,10] 50
Bunun girişi [1,2,3,...,n-1,n]
için A002623 .
[1,1,...,1]
(Uzunluk n
) girişi için bu A000292'dir .
İlk n
Fibonacci sayılarının girişi için ( A000045 ) bu A000004'tür .
[1,1,1,1]
hepsi 4 "farklı" üçgenler verir[1,1,1]
, herhangi üç 1'lerini kullanılarak seçilecek? Fakat, 24 değil çünkü üç 1 sırasız seçildi, yani sıralı bir listeden ziyade üç endeksin alt kümesi mi?