양의 정수 목록이 주어지면 측면 길이가 입력 목록의 세 가지 별개의 항목으로 표시되도록 형성 할 수있는 삼각형의 수를 찾으십시오.
(영감은 CR 에서 나옵니다 .)
세부
- 세 변 길이 a , b , c 의 모든 순열이 엄격한 삼각형 부등식 a + b > c를 만족하면 삼각형이 형성 될 수 있습니다 . (즉 , a + b > c , a + c > b 및 는 모두 보유해야 함을 의미합니다.)
- 세 변의 길이 는 목록에서 서로 다른 위치에 나타나야하지만 반드시 쌍으로 구별 될 필요는 없습니다.
- 입력 목록에서 세 숫자의 순서는 중요하지 않습니다. 우리가 목록
a
과 세 개의 숫자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 개의 1이 순서가없는 것으로 선택 되었기 때문에 24가 아닙니다. 즉, 순서가있는 목록이 아닌 3 개의 지수의 하위 집합입니까?