uva10474
Posted xgf-gq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uva10474相关的知识,希望对你有一定的参考价值。
大理石在哪儿?
做本题主要是为了熟悉STL中的sort函数和lower_bound函数:
#include<cstdio> #include<algorithm> using namespace std ; const int maxn=10000 ; int main() { int n , m ; int a[maxn] ; int num=0 ; while(scanf("%d%d",&n,&m)==2 && n)//注意 { printf("CASE# %d:\n",++num) ; for(int i=0 ; i<n ; i++) scanf("%d",&a[i]) ; sort(a,a+n) ;//sort排序函数 while(m--) { int x ; scanf("%d",&x) ; int q=lower_bound(a,a+n,x)-a ;//在已排数组a中寻找x if(a[q]==x) printf("%d found at %d\n",x,q+1) ; else printf("%d not found\n",x) ; } } return 0 ; }
sort函数在以前的编程学习中见过了很多次,所以运用起来比较熟练,不再多讲
lower_bound函数的作用是查找“大于或者等于x的第一个位置”,但是在用的时候有一个疑问,为什么要-a?
经过百度百科之后知道,lower_bound函数返回一个“大于或者等于x的第一个位置的指针”,从而明白了lower_bound的用法
以上是关于uva10474的主要内容,如果未能解决你的问题,请参考以下文章