正の整数のリストが与えられたら、それらの辺の長さが入力リストの3つの異なるエントリによって表されるように形成できる三角形の数を見つけます。
(インスピレーションはCR。)
詳細
- 3つの辺の長さa 、b 、cのすべての順列が厳密な三角形の不等式a + b > cを満たす場合、三角形を形成できます。(これは、a + b > c、a + c > bおよびb + c > aがすべて成立しなければならないことを意味します。)
- 3辺の長さは、リスト内の異なる位置に表示される必要がありますが、必ずしもペアごとに異なる必要はありません。
- 入力リスト内の3つの数字の順序は重要ではありません。リスト
a
と3つの数値a[i], a[j], a[k]
(i,j,k
ペアワイズが異なる)を考慮すると、(a[i],a[j],a[k]), (a[i],a[k],a[j]), (a[j], a[i], a[k])
などはすべて同じと見なされます三角形ます。 - 入力リストには、少なくとも3つのエントリが含まれると想定できます。
- 入力リストは昇順でソートされていると想定できます。
例
小さなテストプログラムは、オンラインで試してみてください。
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
[1,2,3,...,n-1,n]
これの入力はA002623ですです。
[1,1,...,1]
(長さn
)の入力の場合、これはA000292です。です。
[1,1,1,1]
4つの「異なる」三角形すべて[1,1,1]
を、1のうちの3つを使用して選択することができます。しかし、3つの1は順不同で選択されているため、24ではありません。つまり、順序付きリストではなく、3つのインデックスのサブセットですか。