UVA 10474 Where is the Marble

Posted arrokoth

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA 10474 Where is the Marble相关的知识,希望对你有一定的参考价值。

https://vjudge.net/problem/UVA-10474

主要是练习lower_bound 的应用:返回一个迭代器,指向键值为k的第一个元素。而且也很方便的找出排序后需查找的元素的位置。

cin和c里面的输入输出用的话好像不太好,但是不想改了。

 

 1 #include <bits/stdc++.h>
 2 
 3 #define N 100010
 4 #define maxn 200010
 5 
 6 using namespace std;
 7 
 8 typedef long long int ll;
 9 
10 int main()
11 {
12     vector<int> a;
13     vector<int>::iterator ite;
14     int n, i, q, num;
15     i=0;
16     while(cin>>n>>q , n||q){
17         a.clear();  //清空容器
18         while(n--){
19             cin>>num;
20             a.push_back(num);
21         }
22         sort(a.begin(), a.end());
23         int x;
24         printf("CASE# %d:
", ++i);
25         while(q--){
26             cin>>x;
27             ite=lower_bound(a.begin(), a.end(), x);
28             if(*ite==x){
29                 printf("%d found at %d
", x, ite-a.begin()+1);
30             }
31             else printf("%d not found
", x);
32         }
33     }
34     return 0;
35 }

以上是关于UVA 10474 Where is the Marble的主要内容,如果未能解决你的问题,请参考以下文章

UVA10474 Where is the Marble?排序

排序与检索UVa10474Where is the Marble?

D - Where is the Marble? (UVA - 10474)

A - Where is the Marble? UVA - 10474

大理石在哪儿 (Where is the Marble?,UVa 10474)

UVA10474 大理石在哪儿 Where is the Marble?