洛谷 P2141

题目如下:

 思路如下:

把所有可能的和算出来,利用set容器 的不能重复并且从小到大排序

遍历所有的数字 是否等于 那些所有可能的和 计算数量即可

代码如下:

#include<cstdio> 
#include<cstring>
#include<algorithm>
#include<iostream>
#include<vector>
#include<set>
using namespace std;
int main(){
    int n,m;
    cin>>n;
    vector<int> ans;
    set<int>c;
    while(n--){
        cin>>m;
        ans.push_back(m);
    }
    sort(ans.begin(),ans.end());
    for(int i=0;i<ans.size();i++)
        for(int j=i+1;j<ans.size();j++)
            c.insert(ans[i]+ans[j]);
    int sum=0;
    for(auto i:ans)
    if(c.count(i))
    sum++;
    cout<<sum<<endl;
    return 0;
}
无聊就学习 反正没事干
原文地址:https://www.cnblogs.com/miao-xixixi/p/12717634.html