时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:5808
解决:3163
-
题目描述:
-
输入数组长度 n
输入数组 a[1...n]
输入查找个数m
输入查找数字b[1...m]
输出 YES or NO 查找有则YES 否则NO 。
-
输入:
-
输入有多组数据。
每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。
-
输出:
-
如果在n个数组中输出YES否则输出NO。
-
样例输入:
-
5 1 5 2 4 3 3 2 5 6
-
样例输出:
-
YES YES NO
思路:
多次查找应该事先排好序。用qsort和bsearch。
我这个代码是以前写的,不推荐。
代码:
#include <stdio.h>
#define N 100
int main(void)
{
int n, m, i, j;
int a[N], b[N];
while (scanf("%d", &n) != EOF)
{
for(i=0; i<n; i++)
scanf("%d", &a[i]);
scanf("%d", &m);
for(i=0; i<m; i++)
scanf("%d", &b[i]);
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
if (b[i] == a[j])
break;
}
if (j == n)
printf("NO\n");
else
printf("YES\n");
}
}
return 0;
}
/**************************************************************
Problem: 1173
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/