当前位置:首页 > 复赛 > 正文内容

NOIP2014年普及组T1 珠心算测验

亿万年的星光5年前 (2021-01-28)复赛1835

【题目描述】

珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。
某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?
最近老师出了一些测验题,请你帮忙求出答案

【输入】

输入共两行,第一行包含一个整数 n,表示测试题中给出的正整数个数。
第二行有 n 个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。

【输出】

输出共一行,包含一个整数,表示测验题答案。

【输入样例】

4
1 2 3 4

【输出样例】

2

【样例说明】

由 1+2=3,1+3=4,故满足测试要求的答案为 2。注意,加数和被加数必须是集合中的

两个不同的数。

【数据说明】

对于 100%的数据,3  ≤  n  ≤  100,测验题给出的正整数大小不超过 10,000。



【分析】

题目主要是要完成一些去重操作,原题当中描述“其中有多少个数,恰好等于集合中另外两个(不同的)数之和?”

例如下面这组数据

1 2 3 4 5

在这组数据中,1+4 =5 , 2 +3 =5 ,这样能不能算两个数呢?当然不能,也就是说如果一个数被多次加出,那么不会增加计数的结果。所以我们可以通过一个flag数组用来标记这个被加出来的和有没有被重复标记过。

【参考代码1】

#include<bits/stdc++.h>
using namespace std;
int books[1010];   //定义图书编号数组
int main(){
	int n,q;  
	cin>>n>>q;  //读入书的数量和读者的数量
	for(int i=0;i<n;i++)
		cin>>books[i]; 
 
	sort(books,books+n);   //对书的编号进行排序

	int x,y;
	while(q--)   
	{
		cin>>x>>y;    //读入需求码长度和需求码
		int ans=-1;   //先让结果为-1,如果没有给ans赋过值,直接输出就行
		for(int i=0;i<n;i++) 
		{
			int cnt = pow(10,x);  //求10的x次方
			int temp=books[i]%cnt;  //取余
			if(temp == y )
				{
				   ans=books[i];  //取余后的结果和需求码相同,则赋值
				   break;	
				}	 
		} 
		cout<<ans<<endl; 
	} 
	return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

NOIP2012年普及组 T2 寻宝

NOIP2012年普及组 T2 寻宝

【题目描述】传说很遥远的藏宝楼顶层藏着诱人的宝藏。小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书。说明书的内容如下:藏宝楼共有 N+1 层,最上面一...

NOIP2017普及组 T2图书管理员

【题目描述】图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数。 每位借书的读者手中有一个需求码,这个需求码也是一个正整数。如果一本书的图 书编码恰好以读者的需求码结尾,...

CSP-J2021年普及组复赛T1——分糖果

【题目背景】红太阳幼儿园的小朋友们开始分糖果啦!【题目描述】红太阳幼儿园有 n 个小朋友,你是其中之一。保证 n ≥ 2。 有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分...

NOIP2010年普及组T2 接水问题

【题目描述】学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺...

NOIP2008年普及组 T2 排座椅

NOIP2008年普及组 T2 排座椅

【问题描述】上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学...

NOIP2009年普及组T1 多项式输出

NOIP2009年普及组T1 多项式输出

【题目描述】一元 n 次多项式可用如下的表达式表示:其中,aixiaixi 称为ii次项,aiai称为ii次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输...