题解:P2141 [NOIP2014 普及组] 珠心算测验

· · 题解

思路

主要题意:统计集合中有多少个数,刚好等于另外两个不同数的和。

我们可以用的思想来解决。

代码

#include <bits/stdc++.h>
using namespace std;
int a[105];
bool st[10005];
int main(){
    int n,cnt=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        st[a[i]]=true;
    }
    sort(a+1,a+1+n,greater<int>());
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            if(st[a[i]-a[j]]&&2*a[j]!=a[i]){
                cnt++;
                break;
            }
        }
    }
    cout<<cnt;
    return 0;
}