90分WA,最后一个测试点死活过不去,卡了快两年了

P1042 [NOIP2003 普及组] 乒乓球

不会
by 李昊阳123 @ 2020-07-16 14:26:10


正确代码
by 李昊阳123 @ 2020-07-16 14:28:25


```cpp #include<bits/stdc++.h> using namespace std; int a[100001]; int w,l; int main() { char s; for(int i=1;cin>>s&&s!='E';i++) { if(s=='W')a[i]=1; else a[i]=2; } for(int i=1;1;i++) { if(a[i]==1)w++; if(a[i]==2)l++; if(a[i]==0) { cout<<w<<":"<<l<<endl<<endl; break; } if(w-l>=2||l-w>=2) if(w>=11||l>=11) { cout<<w<<":"<<l<<endl; w=0; l=0; } } w=0; l=0; for(int i=1;1;i++) { if(a[i]==1)w++; if(a[i]==2)l++; if(a[i]==0) { cout<<w<<":"<<l; break; } if(w-l>=2||l-w>=2) if(w>=21||l>=21) { cout<<w<<":"<<l<<endl; w=0; l=0; } } return 0; } ```
by 李昊阳123 @ 2020-07-16 14:28:40


新比赛开始也要输出0:0
by cugthehun @ 2020-07-17 11:55:01


每场比赛开始的时候是0:0,你的代码存在当比赛正好结束(我的测试为14:12)时没有下一场0:0的输出
by ACfunLwk @ 2020-07-19 23:24:29


一场比赛如果刚刚结束,他会算一场新比赛开始也就是说 如果是WWWWWWWWWWWE,你的结果应该是11:0 0:0。 我觉得这道题目出的很不严谨,一般刚刚好打完一局就应该只给一局的比分,他的数据是照顾那些无脑把剩余比分记录进去的coder,但显然只显示一局比分更加妥当,而且输入中明确了只会有WLE三个字母构成,他的测试数据里居然还会有,。?这种符号。而且还搞什么E不在末尾,完全就是为坑而坑。
by MagicPF @ 2020-08-11 13:53:57


|