杭电OJ题目2034,我的答案正确却总是wrong answer
我对比了讨论里面的,发现都差不多,但是我就是wronganswer!已经在这种问题上发生了好几次了,求告知我是怎么死的啊!题目:我的代码:http://codepad.o...
我对比了讨论里面的,发现都差不多,但是我就是wrong answer!已经在这种问题上发生了好几次了,求告知我是怎么死的啊!题目:
我的代码:http://codepad.org/FwFNsX5W。 展开
我的代码:http://codepad.org/FwFNsX5W。 展开
3个回答
2015-02-06
展开全部
对于acm的题目,我觉得如果在自己的电脑上运行对了,提交错误,怎么找出来错误,第一,反复读题目,看自己的程序中都满足题目中的要求没有,有时候输出的形式也要注意一下,有可能是要你把所有需要输入的数据都输进去,然后在吧所有输入的处理后再输出,有可能也是输入一个就处理一个,这样的情况也有的,需要注意下,再就是定义的数组范围,也是一个容易出错的,这些是我做题发现的一些,一般提交错误,大多数情况还是算法的问题,因为在检查你的程序的时候,是很多数据,而且边界条件也要满足,自己多测试下,看看算法对不对,自己喜欢它,就坚持下去。
杭电的输入要判断文件结束.详见杭电acm主页第一栏F.A.Q
P.S.新用一个OJ时最好先读一遍它的FAQ,了解它的提交规则,避免走许多弯路啊...
只能帮你到这儿了。
PS:昨天你采纳的就是我,你写的真的很复杂。只需要在第二个集合中寻找第一个集合中的元素判断是否输出就可以。
其实这种事情上面没必要坚持什么,你看到比自己写的好的代码就抄过来,放下原来自己觉得对但实际上没人认同的算法。才会进步啊。
杭电的输入要判断文件结束.详见杭电acm主页第一栏F.A.Q
P.S.新用一个OJ时最好先读一遍它的FAQ,了解它的提交规则,避免走许多弯路啊...
只能帮你到这儿了。
PS:昨天你采纳的就是我,你写的真的很复杂。只需要在第二个集合中寻找第一个集合中的元素判断是否输出就可以。
其实这种事情上面没必要坚持什么,你看到比自己写的好的代码就抄过来,放下原来自己觉得对但实际上没人认同的算法。才会进步啊。
展开全部
#include "stdio.h"
int main()
{
int n,m,i,j,temp,flag;
int a[220],b[100];
while(scanf("%d %d",&n,&m))
{
temp=0;
flag=0;
if(n==0 && m==0)
break;
for(i=0;i<n+m;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(j=n;j<m+n;j++)
{
if(a[i]==a[j])
break;
}
if(j==m+n)
flag=1;
if(flag==1)
b[temp++]=a[i];
flag=0;
}
if(temp==0)
printf("NULL");
else
for(i=0;i<temp;i++)
{
for(j=i;j<temp;j++)
{
if(b[i]>b[j])
n=b[j],b[j]=b[i],b[i]=n;
}
}
for(i=0;i<temp;i++)
if(i==0 || b[i] != b[i-1])
printf("%d ",b[i]);
printf("\n");
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询