#include "cstdio"
#include "iostream"
#include "algorithm"
#include "vector"
using namespace std;
int main(){
int count;
int num;
int record;
int kase = 1;
int question;
vector<int> stone;
while(cin >> count >> num){
stone.clear();
for(int i = 0; i < count; i++){
cin >> record ;
stone.push_back(record);
}
sort(stone.begin(),stone.end());
for(int i = 0; i < num; i++){
cin >> question ;
vector<int>::iterator result = find(stone.begin(),stone.end(),question);//find 找到第一次出现元素的位置,如果没有就返回.end();
printf("CASE# %d\n",kase++);
if(result == stone.end()){ //注意v1.end()指向的是最后一个元素的下一个位置,所以访问最后一个元素,[begin, end)
printf("%d not found \n",question);
// printf("%d\n",result);// 41817412
// printf("%d\n",stone.end());//从1开始 41817416
}
else{
printf("%d found at %d\n",question,result - stone.begin() + 1); //result与begin之间间隔为 (X - 1 + 1)
// printf("%d\n",stone.begin());
// printf("%d\n",result);// 41817412
// printf("%d\n",stone.end());
}
}
}
return 0;
}
相关推荐
UVA - 10474:Where is the Marble?
# 来源: 标签:排序、查找 参考资料: 相似题目: 题目 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 mar...
C++ --- UVa10474. Where is the Marble? 解题报告
本博文源于《算法竞赛入门经典(第二版)》,旨在解决大理石在哪儿(Where is the Marble? Uva10474)这道题目,渐渐走入题库训练。博文目录有:1.问题再现2.样例输入&样例输出3.题目分析4. 代码测试效果5.代码讲解及完整源码
uva-10474 Where is the Marble? 题解
紫书第五章练习 uva-10474题解;排序函数sort和二分查找函数lower_bound等的使用
UVA 10474 Where is the Marble?
题目链接:https://vjudge.net/problem/UVA-10474 题意:多组数据,第一行,N,Q N代表有N个数,Q代表有Q次询问, 接下来是N个数, 然后是Q个询问,每个询问是一个数,代表这个数在原来的N个数中第几(升序) 用计数排序很容易解决了,计数排序思想很简单,当然其他方法也可以,可以排序STL二分,也能过,水题水解。 #include
uvaoj10474---详解细节(二分法)注意!
uvaoj 10474 这题呢,太水了...不过初学者可以练习一下。 题意:输入两组数据,一组数据有m个 一组有n个,找第二个数据每个数在第一个数据中(从小到大的排后)的位置 要求:1.数组足够大10000应该可以了 2.什么排序都可以,不会超时的 3.查找的时候,有人用二分法,其实我不太建议,直接顺序找就可以了,比如1,1,1,
UVa 10474 Where is the Marble?(大理石在哪儿)
UVa 10474 Where is the Marble?(大理石在哪儿) UVa题目链接 题目名称:大理石在哪 题目描述: 现有N个大理石,每个大理石上写了一个非负整数,首先把各数从小到大排序,之后回答Q个问题,每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪块大理石上写着x,排序后的大理石从左到右编号为1~N。 样例输入: 4 1 2 3 5 1 5 5 2
STL--vector容器find()函数的用法及UVa10474挖的坑
STL
算法竞赛入门经典(第二版) | 例题5-1 大理石在哪 (普适查找)(UVa10474,Where is the Marble?)
大意: 给一序列,要求先将序列排序。再给n个数字,找到每个数字在序列中的位置 题目(提交)网址→UVa-10474 百度翻译→百度翻译 没使用过该网站的同学请猛戳这里→vJudge教程 思路 数组存入,sort排序,find或lower_bound查找。 分析: 最开始没有注意到n是有上限的,于是开了一个vector(小声哔哔,vector比数组慢了一倍有余),将vector换成数组就是最佳解...
STL初步:大理石在哪儿?
uva 10474 现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(样例中,为了节约篇幅,所有大理石上的数合并到一行,所有问题也合并到一行。) 样例输入: 4 1 2 3 5 1 5 5 2 1 3 3 3 1 2 3
uva 10474
#include #include #include #include using namespace std; int bsearch(int *A, int x, int y, int v){ int m; while(x < y){ m = x + (y-x)/2; if(A[m] >= v) y = m; else
算法竞赛入门经典(第二版)-刘汝佳-第五章 C++与STL 例题(9/12)
说明本文是我对第五章12道例题的练习总结,建议配合紫书——《算法竞赛入门经典(第2版)》阅读本文。 另外为了方便做题,我在VOJ上开了一个contest,欢迎一起在上面做:第五章例题contest 如果想直接看某道题,请点开目录后点开相应的题目!!!例题例5-1 UVA 10474 大理石在哪儿 (排序和查找)思路 这个题比较基础,排序用sort,查找用lower_bound,都是STL
STL之排序与检索--lower_bound()函数与upper_bound()函数
在STL的库中提供了一个函数叫作:lower_bound(容器或数组名, 检索长度, key); 分别介绍一下这三个参数,容器或数组名指的是排序内容的其实地址,例如要对某数组a[10],容器或数组名就应该是a,又例如有一个不定长数组vector v,那么第一个参数容器或者数组名就应该是v.begin();第二个参数指明排序内容的长度,对于数组,那么就是数组的长度(根据情况而定,比如数组长度是10,...
《算法竞赛入门经典2ndEdition 》例题5-1 大理石在哪儿(Where is the marble?, Uva10474)
虽然第三章的3-12还没做,但是由于寒假要上课,讲图论于是我打算抓紧学习数据结构,然后进入图的学习。 于是立马决定开始第五章
【C++之STL初步】——排序检索与vector
排序搜索与vector
《算法竞赛入门经典(第2版)》第 5 章 C++与 STL 入门-代码笔记
5.1.2 引用 5.1.3 字符串 5.1.4 再谈结构体 5.2 STL 初步 例题 5-1 大理石在哪儿(Where is the Marble?, UVa 10474) 例题 5-2 木块问题(The Blocks Problem, UVa 101) 例题 5-3 安迪的第一个字典(Andy’s First Dictionary, UVa 10815) 例题 5-4 反片语(Ananagrams, UVa 156) 例题 5-5 集合栈计算机(The SetStack Computer
第五章 C++与STL入门(例题篇:STL部分)--算法竞赛入门经典
第五章 C++与STL入门(例题篇:STL部分) 例题5-1:大理石在哪儿(UVa10474) P108 排序与检索 #include<cstdio> #include<algorithm> using namespace std; const int maxn = 10000; int main() { /*ios::sync_with_stdio(false);*/ ...
紫书ch5 STL初步
学了紫书一大半后回过头来看一下ch5,查漏补缺,主要是后面内容中时不时会出现“在本书第五章介绍过”的字段,然后一脸懵逼,现在就当来学习解惑了。 5.2.1 排序和检索 Uva 10474 大理石在哪儿 这道题主要可以用来熟悉一下algorithm头文件中的两个实用的函数sort和lower_bound sort函数详解(史上最完整QAQ) 关于lower_bound( )和upper...
算法竞赛入门经典——C++与STL入门
算法竞赛入门经典——C++与STL入门 C++在string头文件里定义了string类型,直接支持流式读写。string有很多方便的函数和运算符,但速度有些慢。 考虑这样一个题目:输入数据的每行包含若干个(至少一个)以空格隔开的整数,输出每行中所有整数之和。如果只能使用字符与字符数组,一般由两种方案:一是使用getchar()边读边算,代码较短,但容易写错,并且相对较难理解;二是每次读取一行,然...
565




被折叠的 条评论
为什么被折叠?



