| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
全部输入后再一个个检查就WA,一边输入一边检查等到找到合适的数据就退出程序的就ACIn Reply To:这道题为什么会这样??????不解 Posted by:Sempr at 2006-02-25 22:50:59 WA的程序:
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
int main()
{
int a[50000], b[50000], la, lb, i, j, tmp, *p;
scanf("%d", &la);
for (i = 0; i < la; i++)
{
scanf("%d", &a[i]);
}
scanf("%d", &lb);
for (i = 0; i < lb; i++)
{
scanf("%d", &b[i]);
}
qsort(a, la, sizeof(a[0]), cmp);
for (i = 0; i < lb; i++)
{
tmp = 10000 - b[i];
p = (int *) bsearch(&tmp, a, la, sizeof(a[0]), cmp);
if (p != NULL)
{
printf("YES\n");
break;
}
}
if (i == lb)
{
printf("NO\n");
}
return 0;
}
AC的程序:
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
int main()
{
int a[50000], bi, la, lb, i, j, tmp, *p;
scanf("%d", &la);
for (i = 0; i < la; i++)
{
scanf("%d", &a[i]);
}
scanf("%d", &lb);
for (i = 0; i < lb; i++)
{
scanf("%d", &bi);
tmp = 10000 - bi;
p = (int *) bsearch(&tmp, a, la, sizeof(a[0]), cmp);
if (p != NULL)
{
printf("YES\n");
return 0;
}
}
printf("NO\n");
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator