@[AndyChen130130](/user/1054257) 你把重复的也计算进去了,建议可以开一个用于标记的数组。
by cmask4869 @ 2024-03-01 22:48:27
@[cmask4869](/user/1029495) 咋实现?
by AndyCGM @ 2024-03-01 22:50:18
```cpp
#include <iostream>
using namespace std;
int a[114], hs[114514];
int main(){
int n;
cin >> n;
for (int i=1; i<=n; i++){
cin >> a[i];
}
int ans=0;
for (int i=1; i<=n; i++){
for (int j=1; j<=n; j++){
for (int k=1; k<=n; k++){
//
if (i!=j && k!=i && k!=j && a[i]+a[j]==a[k] && !hs[a[k]]){
ans++;
hs[a[k]]++;
}
}
}
}
cout << ans;
}
```
@[AndyChen130130](/user/1054257)
by 杜都督 @ 2024-03-01 23:06:50
@[杜都督](/user/39279) 谢了
by AndyCGM @ 2024-03-01 23:09:34
@[AndyChen130130](/user/1054257) 看这个[**题解**](https://www.luogu.com.cn/article/xykjgvca),里面的b数组记录方法就是的,这篇和你的方法差不多。
by cmask4869 @ 2024-03-01 23:19:25
@[AndyChen130130](/user/1054257)
```
#include <bits/stdc++.h>
int a, b, c[110], f[110], t, i, x, y, z, n, ans;
int main()
{
scanf("%d", &n);
for (int j = 1; j <= n; j++)
{
scanf("%d",&c[j]);
f[j]=0;
}
for (int j = 1; j <= n; j++)
{
for (i = 1; i <= n; i++)
{
for (t = 1; t <= n; t++)
{
if (c[j] == c[i] + c[t])
{
if ( j != i && i != t && j != t && f[j] == 0)
{
ans++;
f[j] = 1;
}
}
}
}
}
printf("%d", ans);
return 0;
}
求关×1 QwQ
```
by luoguliuqinrui @ 2024-03-23 10:29:22