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

图书管理员图书管理员

题目描述

图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个正整数。

每位借书的读者手中有一个需求码,这个需求码也是一个正整数。如果一本书的图书编码恰好以读者的需 求码结尾,那么这本书就是这位读者所需要的。

小 D 刚刚当上图书馆的管理员,她知道图书馆里所有书的图书编码,她请你帮她写一个程序,对于每一位 读者,求出他所需要的书中图书编码最小的那本书,如果没有他需要的书,请输出-1。

输入

输入文件的第一行,包含两个正整数 n 和 q,以一个空格分开,分别代表图书馆里书的数量和读者的数 量。

接下来的n 行,每行包含一个正整数,代表图书馆里某本书的图书编码。

接下来的q 行,每行包含两个正整数,以一个空格分开,第一个正整数代表图书馆里读者的需求码的长 度,第二个正整数代表读者的需求码。

输出

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

输入样例

5 5

2123

1123

23

24

24

2 23

3 123

3 124

2 12

2 12

输出样例

23

1123

-1

-1

-1

说明

对于 20%的数据, 1 ≤ n ≤ 2。

另有 20%的数据, q = 1。

另有 20%的数据,所有读者需求码长度均为 1。

另有 20%的数据,所有图书 编码 按从小到大 小到大 的顺序 给出。

对于 100%的数据, 1 ≤ n ≤ 1,000,1 ≤ q ≤ 1,000,所有的图书编码和需求码均不超过 10,000,000。

解题思路:

这道题可以用一个数组来储存每一个图书编码,然后排序一遍,因为他已经告诉我们第i个读者需求码的长度,用图书编码对10x10^{x}10x求余(x是读者需求码的长度)的结果和读者需求码比较,如果相同这就是当前的最优。

#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n,m,x,z,k,st,a[1005];
int main()
{scanf("%d%d",&n,&m);for (int i=1;i<=n;i++)scanf("%d",&a[i]);//读入图书编码sort(a+1,a+1+n);//排序for (int i=1;i<=m;i++){scanf("%d%d",&x,&k);//x为读者需求码的长度,k为读者的需求码st=-1;z=1;//清零while(x) x--,z*=10;//求10^xfor (int j=1;j<=n;j++)if (k==a[j]%z) {st=a[j];//找到结果,储存break;//因为前面排过序了,所以当前的是最优的,找到后就退出}printf("%d\n",st);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jzoj4012-Distinct Paths【搜索】

正题 题目链接:https://jzoj.net/senior/#contest/show/3008/1 题目大意 n∗mn*mn∗m的格子&#xff0c;kkk种颜色涂色&#xff0c;求有多少种方案使得没有任意一条只往右和下的路径经过相同颜色。 解题思路 显然如果nm−1>knm-1>knm−1>k就无解&#xff0c;所以nm−…

浅谈Log4net在项目中如何记录日志

一 引入背景在软件开发周期中&#xff0c;无论是开发中&#xff0c;或是测试中&#xff0c;或是上线后&#xff0c;选择合适的工具监控程序的运行状态至关重要&#xff0c;只有如此&#xff0c;才能更好地排查程序问题和检测程序性能问题等。本篇文章主要与大家分享&#xf…

9、play中缓存的使用

1、简介 对于存储在缓存中的任何数据&#xff0c;都需要放置一个再生策略&#xff0c;以防数据丢失。这一理念是play基本原则之一。对于进程内缓存&#xff0c;Caffeine 通常是最佳选择。如果需要分布式缓存&#xff0c;play提供了Memcached和Redis的第三方插件。 2、添加缓存…

ISBN号码【模拟】

ISBN号码ISBN号码ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应&#xff0c;ISBN码包括9位数字、1位识别码和3位分隔符&#xff0c;其规定格式如“x-xxx-xxxxx-x”&#xff0c;其中符号“-”是分隔符&#xff08;键盘上的减号&#xff09;&#xff0c;最后…

jzoj4010-Philips and Calculator【搜索,dp】

正题 题目链接:https://jzoj.net/senior/#contest/show/3008/2 题目大意 两个数(a,b)(a,b)(a,b)&#xff0c;两个操作 (a,b)−>(a,b1)(a,b)->(a,b1)(a,b)−>(a,b1)(a,b)−>(a∗b,b)(a,b)->(a*b,b)(a,b)−>(a∗b,b) 求ppp步以内aaa能到达[l,r][l,r][l,r]之…

10、使用ws调用Rest api

目录 1、简介 2、添加WS配置 3、发送请求 4、处理请求 5、常用模式和用例 6、自定义BodyReadables和BodyWritables 6、独立WS 7、访问AsyncHttpClient 8、配置WS 1、简介 有时我们想从一个play应用程序中调用其他HTTP服务。Play提供了WS库来进行异步HTTP方法调用。 …

笨小猴

笨小猴 题目描述 笨小猴的词汇量很小&#xff0c;所以每次做英语选择题的时候都很头疼。但是他找到了一种方法&#xff0c;经试验证明&#xff0c;用这种方法去选择选项的时候选对的几率非常大&#xff01; 这种方法的具体描述如下&#xff1a;假设maxn是单词中出现次数最多…

codeforces Cable Connection

我的思路很暴力 直接枚举斜率[-100000,0]之间&#xff0c;然后设置一个非常远的直线&#xff0c;对所有点扫一遍&#xff0c;确定一个离这条直线最近的点P。 用点P和斜率k来创建cable&#xff0c;并用cable的距离来relax答案。 现在问题在于&#xff0c;怎么来枚举k&#xf…

拥抱开源,Office 365 开发迎来新时代

前言作为全球最大的开放源代码托管平台&#xff0c;Github在上周迎来了它的十岁生日。自从2008年正式上线以来&#xff0c;Github上面汇聚了数以千万计的开发人员和各种项目&#xff0c;它几乎成为了开源的代名词和风向标&#xff0c;各大软件巨头都纷纷支持&#xff0c;在广大…

jzoj4015-数列【循环节,数论】

正题 题目链接:https://jzoj.net/senior/#contest/show/3011/0 题目大意 给出n,m,a,b,c,x0n,m,a,b,c,x_0n,m,a,b,c,x0​ xiaxi−12bxi−1cx_iax_{i-1}^2bx_{i-1}cxi​axi−12​bxi−1​c 求xn%mx_n\%mxn​%m 解题思路 第一段n≤1e6n\leq 1e6n≤1e6直接O(n)O(n)O(n)暴力做 第…

11、OAuth和OpenID服务

1、OAuth 1、1 简介 OAuth是发布受保护数据并与之交互的简单方法。对于人们来说&#xff0c;这也是一种更安全的访问方式。例如&#xff0c;它可以用来访问你的用户在Twitter上的数据。Play仅提供对OAuth 1.0的支持。 1、2 基本工作原理 在build.sbt中添加配置&#xff1a;…

求凸函数极值 CSF迭代法(雾)

简介 本算法用来求解凸函数极值点的问题&#xff0c;由我在写ACM习题时想到&#xff0c;在网上并未找到这样的算法&#xff0c;拿出来给大家分享一下&#xff0c;如果网上没有的话&#xff0c;我决定给它起名叫做 CSF迭代法&#xff0c;如果这个算法早已经存在&#xff0c;那就…

排座椅【贪心】

排座椅 题目描述 上课的时候总有一些同学和前后左右的人交头接耳&#xff0c;这是令小学班主任十分头疼的一件事情。不过&#xff0c;班主任小雪发现了一些有趣的现象&#xff0c;当同学们的座次确定下来之后&#xff0c;只有有限的D对同学上课时会交头接耳。同学们在教室中坐…

jzoj4016-圈地为王【状压,bfs,几何】

正题 题目链接:https://jzoj.net/senior/#contest/show/3011/1 题目大意 n∗mn*mn∗m的格子&#xff0c;格子之间有道路&#xff0c;对于每个iii就走过最短的回路使得 圈住iii个有价值的格子没有圈住任何一个坏格子 解题思路 判断一个点是否在一个多边形内&#xff0c;我们可…

12、play整合Akka

1、简介 Akka使用actor模型来提高抽象级别&#xff0c;并提供一个更好的平台来构建正确的并发和可扩展的应用程序。在容错方面&#xff0c;它采用了“Let it crash”的模式&#xff0c;这种模式在电信行业获得了巨大成功&#xff0c;用于构建永不停止的自我修复系统应用程序。…

codeforces National Property 2sat模板题

题目链接 每个字符只能取小写和大写两种情况&#xff0c;因此满足2-sat的要求。 我们从第2个word开始&#xff0c;与前一个word进行比较。比较的时候从word左边的字符开始&#xff0c;找到左起的第一个不相同的字符(位置为pos)。 1.如果word[i-1][pos]<word[i][pos]。 …

传球游戏【DP】

传球游戏传球游戏传球游戏 题目描述 上体育课的时候&#xff0c;小蛮的老师经常带着同学们一起做游戏。这次&#xff0c;老师带着同学们一起做传球游戏。 游戏规则是这样的&#xff1a;n个同学站成一个圆圈&#xff0c;其中的一个同学手里拿着一个球&#xff0c;当老师吹哨子…

ASP.NET Core 添加统一模型验证处理机制

一.前言模型验证自ASP.NET MVC便有提供&#xff0c;我们可以在Model(DTO)的属性上加上数据注解&#xff08;Data Annotations&#xff09;特性&#xff0c;在进入Action之前便会根据数据注解&#xff0c;来验证输入的数据是否合法&#xff0c;下面介绍以下如何统一处理验证并返…

jzoj4017-逃跑【0/1分数规划,线段树,dp】

正题 题目链接:https://jzoj.net/senior/#contest/show/3011/2 题目大意 n1n1n1个连续的地方&#xff0c;每个地方有(a,b,c)(a,b,c)(a,b,c)。 从000开始&#xff0c;每次往前选择一个不超过LLL的位置&#xff0c;跳到那里并选择中间不包括起点的位置中ccc最大的地方获取这个位…

13、play中实现信息国际化

目录 1、指定应用使用的语言 2、语言配置文件 3、在Controller中使用 4、在模板中使用 5、改变当前请求的语言 6、格式化信息 1、指定应用使用的语言 在conf/application.conf中进行配置&#xff1a; 这些语言标记将用于创建play.i18n.Lang实例。要访问应用程序支持的语…