题目描述 N个木棒,问构成三角形的方案数。 样例输入 Copy 5 3 2 5 3 4 样例输出 Copy 8 提示 N<=1000用c++代码实现
时间: 2024-02-19 20:57:40 浏览: 129
那木棒游戏的C++实现
好的,以下是用 C++ 实现的代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
int n, a[N];
int main() {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
int cnt = 0;
for (int i = 0; i < n - 2; i++) {
for (int j = i + 1, k = i + 2; j < n - 1; j++) {
while (k < n && a[i] + a[j] > a[k]) {
k++;
}
cnt += (k - j - 1);
}
}
cout << cnt << endl;
return 0;
}
```
代码思路和之前所说的一致,时间复杂度为 $O(n^2)$。
阅读全文