有没有大佬帮忙看看为什么只有30分
  • 板块学术版
  • 楼主lcw1219
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/1/29 18:29
  • 上次更新2025/1/30 11:58:30
查看原帖
有没有大佬帮忙看看为什么只有30分
954754
lcw1219楼主2025/1/29 18:29

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


这道题似乎不是很难,但其实没法AC真不简单······

算了,直接上代码

30分代码如下

#include <bits/stdc++.h>
using namespace std;
int n,a[105],b[20001],sum;

int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		++b[a[i]];//桶数组
	}
	sort(a+1,a+n+1);//排序
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			int x=a[i]+a[j];
      //判断这两个数的和是否在数组中出现过
			if(b[x]>0){
				++sum;
			}
      //当两个数的和大于数组中最大的数,跳出循环
			if(x>a[n]){
				break;
			}
		}
	}
	cout<<sum;
	return 0;
}

所以有没有大佬看出来哪里出了问题

欢迎回帖(或私信)

2025/1/29 18:29
加载中...