北邮 OJ 373题 WrongAnswer 我的代码错在哪?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北邮 OJ 373题 WrongAnswer 我的代码错在哪?相关的知识,希望对你有一定的参考价值。
#include <iostream>
using namespace std;
int main ()
int w,l,n,m;
char a[25];
w=0;l=0;n=0;m=0;
cin>>a;
while (true)
if (a[n]=='W')
w++;
else if (a[n]=='L')
l++;
if (w>=11||l>=11)
if((w-l)<2&&(w-l)>-2)
continue;
else
cout<<w<<':'<<l<<endl;
w=0;l=0;
if (a[n]=='E'||a[n]=='\0')
cout<<w<<':'<<l<<endl;
w=0;l=0;
break;
n++;
cout<<endl;
m=0;
while (true)
if (a[m]=='W')
w++;
else if (a[m]=='L')
l++;
if (w>=21||l>=21)
if((w-l)<2&&(w-l)>-2)
continue;
else
cout<<w<<':'<<l<<endl;
w=0;l=0;
if (a[m]=='E'||a[m]=='\0')
cout<<w<<':'<<l<<endl;
break;
m++;
http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/show_problem.php?problem_id=373
建议:每次读取之后判断最后一个字符是不是‘E’,如果是就可以继续往下走去计算了,如果不是还要继续读取字符。追问
首先感谢你的回答,现在这个问题我搞明白了,不是“一行最多20个字母”的问题,问题在于“多行”也就是说回车之后的字母也要和前面的算到一起。这个没有处理。所以WA,目前还在学习解决中。
追答是啊,我说的就这个意思啊。。可能说得不是那么明显。。超过20,就要处理一下,前后连在一起。。
在玩OJ时候的各种提示
1.Accepted,简称AC,代码已通过评测,意思就是这题你做完了,恭喜啊
#include <stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); printf("%d\n",a+b); return 0; }
2.Wrong Answer,简称WA,就是代码在运行时没有输出正确的答案。
#include <stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); printf("%d\n",a-b); return 0; }
3.Time Limit Exceeded,简称TLE,超时,就是你的代码运行时间过长。超出了限定时间。
#include <stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); while(1); printf("%d\n",a+b); return 0; }
4.Memory Limit Exceeded,简称MLE,超内存,程序运行的过程中内存超过了限制内存。
5.Output Limit Exceeded,简称OLE,程序产生了不必要的输出。
6.Runtime Error,简称RE,在运行过程中发生了错误,比如除以0,等等
7.Presentation Error,简称PE,输出格式错误,至于格式就是换行符,制表符和空格的问题。
8.Compile Error,简称CE,编译器在编译的过程中出错了,一般是代码格式的问题。
以上是关于北邮 OJ 373题 WrongAnswer 我的代码错在哪?的主要内容,如果未能解决你的问题,请参考以下文章