三元组

· · 题解

原题传送门 采用博客使用更佳

题目大意: 给定数列 a ,求有序三元组 (i,j,k) 满足 a_i + a_j =a_k 的数量。

解题思路:

1. 该题有多组数据,可进行一次 while 循环。

2. 输入数列。

3. 三重暴力 for 循环,寻找出可行的三元组,进行累加,得出答案。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int n,a[105];
int main()
{
    cin >> n;
    while(n--){
        int m,sum=0;
        cin >> m;
        for(int i=1;i<=m;i++)cin>>a[i];
        for(int i=1;i<=m;i++)
            for(int j=i;j<=m;j++)
                for(int k=j;k<=m;k++)
                    if(a[i]+a[j]==a[k])
                        sum++;
        cout<<sum<<endl;
    }
    return 0;
}