错因:审题不仔细 需要求的是满足的数字个数 也就是说5 = 1 + 4,5 = 2+3;但只有5一个数字满足
答案数组的使用 用来查重 不熟练
https://www.luogu.com.cn/problem/P1567
#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <sstream>
using namespace std;
typedef long long ll;
int main()
{
int n;
cin >> n;//总个数
int a[110];
int b[110];
int cnt = 0;
int len = 0;
for(int i = 0 ; i < n ; i++)
cin >> a[i];
for(int i = 0 ; i < n ; i++)
{
for(int j = 0 ; j < n ;j++)
{
if(a[i]==a[j]) continue;
for(int k = 0 ; k < n ;k++)
{
if(a[k]==a[i]||a[k]==a[j]) continue;
if(a[k]+a[j]==a[i]){
bool is_used = false;
for(int l = 0 ; l < len ;l++){
if(b[l]==a[i]){
is_used = true;
break;
}
}
if(!is_used){
b[len] = a[i];
len++;
cnt++;
}
}
}
}
}
cout << cnt;
return 0;
}