uva 10474 Where is the Marble?(大理石在哪儿)
2016-09-25 14:59
591 查看
题目大意:
有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;
}
有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;
}
相关文章推荐
- UVa 10474 Where is the Marble?(大理石在哪儿)
- 大理石在哪儿? Where is the Marble- UVA - 10474
- 《算法竞赛入门经典2ndEdition 》例题5-1 大理石在哪儿(Where is the marble?, Uva10474)
- 大理石在哪儿(Where is the marble?,UVa 10474)
- uva10474大理石在哪儿where is the marble?
- 大理石在哪(Where is the Marble?, uva 10474)
- 大理石在哪?(Where is the Marble?,UVa 10474)
- 例题5-1 UVA 10474 Where is the Marble?大理石在哪?
- 大理石在哪?(Where is the Marble?, UVa 10474)代码
- 10474 - 大理石在哪儿Where is the Marble?(排序+检索)
- UVA 10474 - Where is the Marble?
- UVA 10474 Where is the Marble?
- uva 10474 Where is the Marble? 计数排序
- UVa 10474 - Where is the Marble
- Uva 10474 Where is the Marble?
- uva 10474 Where is the Marble?
- uva-10474 - Where is the Marble?
- UVA 10474 Where is the Marble?
- UVa 10474 Where is the Marble? (二分查找&equal_range()的使用)
- UVA10474 - Where is the Marble?