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

题目大意:

有n个大理石,每个大理石上写一个非负整数,首先把各数按照从小到大排序,问Q个问题每个问题问是否一个大理石写着一个数X,如果有,回答那个大理石写着X。

题解:

就排序查找就行,我觉得二分更快,懒得写0.0,

#include<stdio.h>
#include<algorithm>
using namespace std;
const int maxn=10000000;
int a[maxn];
int main(){
	int x,y;
	int T=1;
	while(~scanf("%d%d",&x,&y)&&x&&y){
        printf("CASE# %d:\n",T++);
		for(int i=0;i<x;i++){
			scanf("%d",&a[i]);
		}
		sort(a,a+x);
		for(int i=0;i<y;i++){
            int flag=0;
			int t;
			scanf("%d",&t);
			int j;
			for(j=0;j<x;j++){

				if(a[j]==t){
                    printf("%d found at %d\n",t,j+1);
                    flag=1;
                    break;
				}
			}
			if(flag==0) printf("%d not found\n",t);

		}
	}



	return 0;
}




posted @ 2016-09-25 14:59  hong-ll  阅读(214)  评论(0编辑  收藏  举报