原题及翻译

Raju and Meena love to play with Marbles.
拉朱和米娜喜欢玩弹珠。
They have got a lot of marbles with numbers written on them.
他们有很多写着数字的大理石。
At the beginning, Raju would place the marbles one after another in ascending order of the numbers written on them.
起初,拉朱会将大理石按数字的升序排列。
Then Meena would ask Raju to find the first marble with a certain number.
然后米娜会要求拉朱找到第一个有一定数量的大理石。
She would count 1…2…3.
她会数到1…2…3。
Raju gets one point for correct answer, and Meena gets the point if Raju fails.
拉朱的回答正确得1分,如果拉朱失败,米娜得1分。
After some fixed number of trials the game ends and the player with maximum points wins.
经过一定数量的测试后,游戏结束,得分最高的玩家获胜。
Today it’s your chance to play as Raju.
今天是你成为拉朱的机会。
Being the smart kid, you’d be taking the favor of a computer.
作为一个聪明的孩子,你会喜欢电脑。
But don’t underestimate Meena, she had written a program to keep track how much time you’re taking to give all the answers.
但不要低估米娜,她写了一个程序来跟踪你花了多少时间来给出所有的答案。
So now you have to write a program, which will help you in your role as Raju.
所以现在你必须写一个程序,这将有助于你作为拉朱的角色。

Input

输入
There can be multiple test cases.
可能有多个测试用例。
Total no of test cases is less than 65.
测试用例总数小于65。
Each test case consists begins with 2 integers: N the number of marbles and Q the number of queries Mina would make.
每个测试用例都由2个整数组成:n是大理石的数量,q是米娜要进行的查询的数量。
The next N lines would contain the numbers written on the N marbles.
接下来的n行将包含写在n个大理石上的数字。
These marble numbers will not come in any particular order.
这些大理石数字不会有任何特定的顺序。
Following Q lines will have Q queries.
以下Q行将有Q查询。
Be assured, none of the input numbers are greater than 10000 and none of them are negative.
请确保,输入的数字都不大于10000,也不为负数。
Input is terminated by a test case where N = 0 and Q = 0.
输入被一个n=0和q=0的测试用例终止。

Output

输出
For each test case output the serial number of the case.
对于每个测试用例,输出该用例的序列号。
For each of the queries, print one line of output.
对于每个查询,打印一行输出。
The format of this line will depend upon whether or not the query number is written upon any of the marbles.
这一行的格式将取决于查询号是否写在任何大理石上。
The two di?erent formats are described below:
两种不同的格式如下所述:
‘x found at y’, if the first marble with number x was found at position y.
“x在y处找到”,如果在y处找到第一个带有x号的大理石。
Positions are numbered 1, 2, . . . , N .
位置编号为1、2、。…n。
‘x not found’, if the marble with number x is not present.
?“X未找到”,如果不存在数字为X的大理石。
Look at the output for sample input for details.
有关详细信息,请查看示例输入的输出。

Sample Input

4 1
2
3
5
1
5
5 2
1
3
3
3
1
2
3
0 0

Sample Output

CASE# 1:
5 found at 4
CASE# 2:
2not found
3found at 3

思路

思路其实很简单,排序,然后查找,可以自己写函数来做这两件事,也可以直接用algorithm头文件中的函数来操作。

代码

#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=10000;
int main ()
{int n,q,x,a[maxn],kase=0;while(scanf("%d%d",&n,&q)==2&&n){printf("CASE# %d:\n",++kase);for(int i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);while(q--){scanf("%d",&x);int p=lower_bound(a,a+n,x)-a;if(a[p]==x){printf("%d found at %d\n",x,p+1);}else{printf("%d not found\n",x);}}}return 0;
}

《算法竞赛入门经典》 例题5-1 大理石在哪(Where is the Marble,UVa 10474)相关推荐

  1. 古老的密码(Ancient Cipher,UVa1339)(算法竞赛入门经典 例题4-1)C++

    题目:给定两个不超过100的字符串,判断是否可以做到将其中一个字符串通过重排和映射的操作,使得两个字符串相同.例如,JWPUDJSTVP重排后可以得到WJDUPSJPVT,然后每个字母只要通过一次映射 ...

  2. 算法竞赛入门经典 例题6-6 小球下落(python、C)

    同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 问题描述: 有一颗二叉树,最大深度为D,且所有叶子的深度都相同.所有结点从上到下从左到右编号为 1,2,3,- , ...

  3. 算法竞赛入门经典 例题6-2 铁轨(C、python)

    同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 问题描述: 某城市有一个火车站,铁轨铺设如图所示.有n节车厢从A方向驶入车站,按进站顺序编号为 1~n .你的任务 ...

  4. 算法竞赛入门经典 例题6-21

    UVa506 System Dependencies 编写程序实现类似Linux下的软件包管理器,其工作方式为: 可以通过命令显式安装组件,这个过程也可能隐式安装依赖组件 如果没有其它组件仍然依赖一个 ...

  5. 算法竞赛入门经典 例题6-16

    刷题荒废了一个多月,今日了却一件事情,把此题补上! UVa10129 Play on Words 有若干个圆盘,每个圆盘上都有一个单词,判断这些圆盘是否能排成一排,使得相邻圆盘的首尾字母相同. 3年前 ...

  6. C++ 刽子手游戏(Hangman Judge, UVa 489)(算法竞赛入门经典例题4-2)

    题目:刽子手游戏是一个简单的猜单词游戏,每次可以猜一个字母,如果单词内有这个字母,此单词内所有该字母都会显示,如果没有该字母,则记一笔错误,若满7笔错误,则输掉()猜已经猜出的单词也算错误).本题编写 ...

  7. Java实现算法竞赛入门经典例题-蚂蚁

    问题描述 一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒. 当两只蚂蚁相撞时,二者同时掉头(掉头时间忽略不计). 给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂 ...

  8. UVA-814 邮件传输代理的交互 题解答案代码 算法竞赛入门经典第二版

    GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 AC代码 #include<iostream> #include< ...

  9. UVA-12171 雕塑 题解答案代码 算法竞赛入门经典第二版

    GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 这道题目在<算法竞赛入门经典第二版>书中标注了星号,也是第一道出现星号的 ...

  10. UVA-1598 交易所 题解答案代码 算法竞赛入门经典第二版

    GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 AC代码 有意思的一个题目.书上说这是一个不错的优先队列练习题,但实际上它其实是一个 ...

最新文章

  1. Nature子刊:用16S及18S rRNA全长进行微生物多样性研究
  2. 如何将光标定位到行尾
  3. android sdk国内快速更新下载
  4. linux一键重装系统脚本,一键重装CentOS纯净版系统shell脚本
  5. github关联域名,创建个人网站教程终结篇
  6. PHP服务器脚本实例,Shell脚本实现的一个简易Web服务器例子分享_linux shell
  7. java8的rmi_Java中的RMI
  8. CCNA实验(9) -- Frame Relay
  9. linux引导时输入特殊信息的含义
  10. 渗透测试入门13之渗透测试流程
  11. iphone固件降级_手机资讯:降级必备:Phone5如何下载备份SHSH文件
  12. Keepalived实现mysql高可用
  13. Mmap的实现原理和应用
  14. Java解码aac,Android MediaCodec解码AAC,AudioTrack播放PCM音频
  15. 过程现场总线解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. iOS开发工程师求贤贴
  17. 闪马智能+兑观科技|视频智能解析联合实验室揭牌成立
  18. OpenCV判断图片是否是黑白图片
  19. 基本数据类型的隐式转换
  20. php注册登录详解_实例讲解php用户注册与登录页面

热门文章

  1. 【转】家庭装修预算计算公式大全
  2. StringBuffer(字符串缓冲区)
  3. 微信公众号页面支付接口java,[Java教程]微信公众号支付(三):页面调用微信支付JS并完成支付...
  4. matlab while 跳出,请帮忙看下这个程序为什么跳不出WHILE循环??
  5. oracle查询第二个字为a,Oracle多表查询 - osc_yqnlq679的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. pg多线程更新会发生死锁_何时用多线程?多线程需要加锁吗?线程数多少最合理?...
  7. 2011---2013年杭电计算机历年研究生复试---笔试编程
  8. dataframe 列名重新排序
  9. Linux 用户篇——用户管理的配置文件
  10. 第四次作业-四则运算