首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

uva 10474 - Where is the Marble

2012-08-10 
uva 10474 - Where is the Marble?点击打开链接代码://只要对输入的数据排序,然后查找即可(可用二分,更快)

uva 10474 - Where is the Marble?

点击打开链接


代码:


//只要对输入的数据排序,然后查找即可(可用二分,更快)#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <list>#include <vector>#include <stack>#include <cmath>#include <algorithm>using namespace std;const int MAXN = 10010;int n , q;int arrN[MAXN];int arrQ[MAXN];int numQ[MAXN];int main(){    int cnt = 1;    while(scanf("%d%d%*c" , &n , &q) &&q &&n){       for(int i = 0 ; i < n ; i++)                    scanf("%d" , &arrN[i]);       sort(arrN , arrN+n);       memset(arrQ , 0 ,sizeof(arrQ));       for(int i = 0 ; i < q ; i++){           scanf("%d" , &numQ[i]);           for(int j = 0 ; j < n ;j++){               if(numQ[i] == arrN[j]){                   arrQ[numQ[i]] = j+1;                   break;               }           }       }       printf("CASE# %d:\n" , cnt);       for(int i = 0 ; i < q ; i++){           if(arrQ[numQ[i]]){               printf("%d found at %d\n" , numQ[i] , arrQ[numQ[i]]);           }           else               printf("%d not found\n" , numQ[i]);         }       ++cnt;    }    return 0;}


热点排行