洛谷 P3955 图书管理员

https://www.luogu.org/problemnew/show/P3955

JDOJ 3161: [NOIP2017]图书管理员 T2

https://neooj.com:8082/oldoj/problem.php?id=3161

Description

图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个正整数。 
每位借书的读者手中有一个需求码,这个需求码也是一个正整数。如果一本书的图书编码恰好以读者的需求码结尾,那么这本书就是这位读者所需要的。 
小 D 刚刚当上图书馆的管理员,她知道图书馆里所有书的图书编码,她请你帮她写一个程序,对于每一位读者,求出他所需要的书中图书编码最小的那本书,如果没有他需要的书,请输出-1。

Input

输入文件的第一行,包含两个正整数 n 和 q,以一个空格分开,分别代表图书馆里书的数量和读者的数量。 
接下来的n 行,每行包含一个正整数,代表图书馆里某本书的图书编码。 
接下来的q 行,每行包含两个正整数,以一个空格分开,第一个正整数代表图书馆里读者的需求码的长度,第二个正整数代表读者的需求码。

Output

输出文件有 q 行,每行包含一个整数,如果存在第 i 个读者所需要的书,则在第 i行输出第i 个读者所需要的书中图书编码最小的那本书的图书编码,否则输出-1。

Sample Input

5 5 2123 1123 23 24 24 2 23 3 123 3 124 2 12 2 12

Sample Output

23 1123 -1 -1 -1

HINT

【样例说明】
第一位读者需要的书有 2123、1123、23,其中23 是最小的图书编码。第二位读者需要的书有2123、1123,其中1123 是最小的图书编码。对于第三位,第四位和第五位读者,没有书的图书编码以他们的需求码结尾,即没有他们需要的书,输出-1。

【数据规模】
对于20%的数据,1 ≤ n ≤ 2。 
另有20%的数据,q = 1。 
另有20%的数据,所有读者的需求码的长度均为 1。 
另有20%的数据,所有的图书编码按从小到大的顺序给出。 
对于100%的数据,1 ≤ n ≤ 1,000,1 ≤ q ≤ 1,000,所有的图书编码和需求码均不超过10,000,000。

普及组水题,手打模拟。
代码如下,百分百能看懂。
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int a[1001];
int b[1001];
int ans[1001];
int n,q,cnt,temp;
bool cmpe(int a,int b)
{return a<b;
}
int main()
{scanf("%d%d",&n,&q);for(int i=1;i<=n;i++)scanf("%d",&a[i]);for(int i=1;i<=q;i++){cnt=0;temp=1;memset(b,0,sizeof(b));int x,code;scanf("%d%d",&x,&code);for(int k=1;k<=x;k++)temp*=10;for(int j=1;j<=n;j++){int cmp=a[j]%temp;if(cmp==code)b[++cnt]=a[j];}if(cnt==0)ans[i]=-1;else{sort(b+1,b+cnt+1,cmpe);ans[i]=b[1];}}for(int i=1;i<=q;i++)printf("%d\n",ans[i]);return 0;
}

这里注意一些细节,k层循环一定要写在外面,要不然会重复累乘造成错误。

if else千万不要压行。

记得每次匹配b数组和cnt要置零,temp要置成一。

差不多就这些了吧。

转载于:https://www.cnblogs.com/fusiwei/p/11220431.html

NOIP 2017 图书管理员相关推荐

  1. ◆竞赛题目◆◇NOIP 2017 普及组◇ 图书管理员

    ◇NOIP 2017 普及组◇图书管理员 Description 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数. 每位借书的读者手中有一个需求码,这个需求码也是一个 ...

  2. 【NOIP 2017普及组】 图书管理员

    [NOIP 2017普及组] 图书管理员 题目描述 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数. 每位借书的读者手中有一个需求码,这个需求码也是一个正整数.如果一 ...

  3. 【NOIP普及组2017】图书管理员Librarian

    无聊的<图书管理员> 无聊的图书管理员 题目描述 分析-水题-水题-真的是水题 代码-不一定是正解 一些存疑的地方 END 题目描述 图书馆中每本书都有一个图书编码,可以用于快速检索图书, ...

  4. 图书管理员【2017年普及组第二题】

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

  5. 去当个图书管理员吧!另外,讲一些关于读书的话。

    如果有天堂,那里应该是图书馆的模样. 博尔赫斯 100年前,有一个人他如饥似渴地读书.旁若无人地读书.数十年如一日地读书,直到生命的最后一刻. 他是为了救国救民而读书.为了民族独立而读书.为了中华崛起 ...

  6. 【游记】NOIP 2017

    时间:2017.11.11~2017.11.12 地点:广东省广州市第六中学 Day1 T1:看到题目,心想这种题目也能放在T1? 这个结论我之前遇到过至少3次,自己也简单证明过.初见是NOIP200 ...

  7. springboot图书管理怎么实现借书时间到期提醒_智能机器人充当图书管理员,看看它能干嘛...

    想必大家都去过图书馆吧,每当出现一些问题时,大家都会询问图书管理员.说起图书管理员的工作,大多数人的印象是强度大.单调且单一.重复性强.效率低.如果智能机器人走进图书馆,当起了图书管理员了,现状将完全 ...

  8. 周末狂欢赛2(冒泡排序,概率充电器,不勤劳的图书管理员)

    狂欢2 T1:冒泡排序 题目 题解 CODE T2:概率充电器 题目 题解 CODE T3:不勤劳的图书管理员 题目 题解 CODE 我不这么认为.... T1:冒泡排序 题目 下面是一段实现冒泡排序 ...

  9. my-medium.cnf_您的手机如何打开medium.com-我将让门卫和图书管理员解释。

    my-medium.cnf by Andrea Zanin 由Andrea Zanin 您的手机如何打开medium.com-我将让门卫和图书管理员解释. (How your phone opens ...

最新文章

  1. 结构最清晰的Yolov3 head和loss实现完全解析
  2. 在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔
  3. html5 video修改默认样式,HTML5中将video设置为背景的方法
  4. 基于TCP协议的进程间通信
  5. atom python教程_对于新手来说 如何用atom搭建python的ide?
  6. Android权限详解
  7. 老人为什么要去依靠曾经不喜欢的子女去为她养老?
  8. docker搭建zabbix
  9. 整理了js数组去重4种方法
  10. unity虚拟摇杆控制的实现
  11. Windows 7精简版(2019.04.10)
  12. 【shell案例】学员管理系统
  13. 进度条媒体对象和Well组件
  14. 计算机中 符号咋打,乘以符号电脑怎么打_详细教您打出乘以符号的方法
  15. CSUOJ-1986: 玄学
  16. 微信大号平台运营简谈
  17. 清华毕业生都去哪儿了
  18. 求斐波那契数列的第n项 java
  19. IDEA 没有Tomcat 也没有Application Servers的解决办法
  20. JAVA带财务进销存 ERP管理系统源码《免费分享源码》

热门文章

  1. Awesome Vue.js vue.js学习资源链接大全 中文
  2. 一个免费测网站速度的站
  3. android 强制打开gps定位_Android 6.0动态权限及跳转GPS设置界面的方法
  4. 1970年至今秒数转化为时间
  5. 分析: GetBuffer, ReleaseBuffer, GetBufferSetLength
  6. 自动化测试用例设计(四)自动化测试用例设计实例
  7. Terraform 内置函数 Functions
  8. Python很慢,但它即将变得更快
  9. 鸿蒙系统用在手机上,全球第三大手机系统“鸿蒙”上线,这19款手机能抢先用...
  10. 用python画一个小猪佩琪(源码)