首页 > 代码库 > UVA 10474
UVA 10474
题意:给你一组数,再给几个数问是否在一组数中。
题很简单:STL入门。
没用到STL。
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int a[10005]; int main() { int ncase = 1; //freopen("in.txt","r",stdin); int n,m; while(scanf("%d%d",&n,&m) != EOF){ if(n == 0 && m == 0) break; printf("CASE# %d:\n",ncase++); for(int i = 1;i <= n; i++) scanf("%d",&a[i]); sort(a+1,a+n+1); for(int i = 1;i <= m; i++){ int ans; scanf("%d",&ans); int flag = false; int j; for(j = 1;j <= n; j++) if(a[j] == ans){ flag = true; break; } if(flag) printf("%d found at %d\n",ans,j); else printf("%d not found\n",ans); } } return 0; }
STL。
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int a[10005]; int main() { int ncase = 1; //freopen("in.txt","r",stdin); int n,m; while(scanf("%d%d",&n,&m) != EOF){ if(n == 0 && m == 0) break; printf("CASE# %d:\n",ncase++); for(int i = 1;i <= n; i++) scanf("%d",&a[i]); sort(a+1,a+n+1); for(int i = 1;i <= m; i++){ int ans; scanf("%d",&ans); int flag; // for(j = 1;j <= n; j++) // if(a[j] == ans){ // flag = true; // break; // } flag = lower_bound(a+1,a+n+1,ans) - a; //很容易看出怎么操作的 if(a[flag] == ans) printf("%d found at %d\n",ans,flag); else printf("%d not found\n",ans); } } return 0; }
UVA 10474
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。