专栏文章
题解:P2141 [NOIP2014 普及组] 珠心算测验
P2141题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqmdbcb
- 此快照首次捕获于
- 2025/12/04 07:09 3 个月前
- 此快照最后确认于
- 2025/12/04 07:09 3 个月前
思路
主要题意:统计集合中有多少个数,刚好等于另外两个不同数的和。
我们可以用桶的思想来解决。
-
先用标记数组 标记出每个元素 。
-
接着将数组 逆序排序,方便后续操作。
-
随后判断 在数组 中是否出现过,意思就是有没有一个数加上 是否等于 ,还要判断相加的两个数是否不相等。如果是,计数器 就加一。
代码
CPP#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;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...