2301_81500285 2024-01-10 15:24 采纳率: 0%
浏览 8

##有效三角形的个数

描述

给定一个包含非负整数的数组 a ,返回其中三个数字可以组成三角形三条边的组合个数。

输入
第一行,n

第二行,数组 a,包含 n 条边的长度

输出
组成三角形三条边的个数

输入样例 1

4
2 2 3 4
输出样例 1

3
输入样例 2

4
4 2 3 4
输出样例 2

4
提示

50%数据:1 <= n <= 1000,1 <= a[i] <= 1000

80%数据:1 <= n <= 5000,1 <= a[i] <= 5000

100%数据:1 <= n <= 10000,1 <= a[i] <= 10000

样例1解释: 有效的组合是:

2,3,4 (使用第一个 2)

2,3,4 (使用第二个 2)

2,2,3
要求不要超时,要尽可能简洁

  • 写回答

2条回答 默认 最新

  • ಥ_ಥʕᵔᴥᵔʔ 2024-01-10 17:04
    关注
    #include <stdio.h>
    
    int main() {
        int n;
        scanf("%d", &n);
        int a[n];
        for(int i = 0; i < n; i++) {
            scanf("%d", &a[i]);
        }
        int count = 0;
        for(int i = 0; i < n - 2; i++) {
            for(int j = i + 1; j < n - 1; j++) {
                if(a[i] + a[j] > a[j + 1]) {
                    count++;
                }
            }
        }
        printf("%d\n", count);
        return 0;
    }
    

    img

    评论

报告相同问题?

问题事件

  • 修改了问题 1月10日
  • 创建了问题 1月10日