参考了@maojinbo1979 的帖子修改了代码,通过了测试点1和测试点10(第一个字符就为E退出、有除了WLE之外的字符),仍然是心碎50分TT。 贴一下代码,向各位dalao求助
#include<bits/stdc++.h>
using namespace std;
int cp[62500];
int main(){
char s;
int win=0,lose=0,cnt=0;
for(int i=0;cin>>s,s!='E';i++){
if(s=='W') cp[i]=1;
else if(s=='L') cp[i]=2;
}
if(cp[0]==0){
cout<<"0:0"<<endl<<endl<<"0:0";
return 0;
}
for(int i=0;i<62500;i++){
if(cp[i]==0) break;
else if(cp[i]==1) win++;
else if(cp[i]==2) lose++;
if(win+lose==11){
cout<<win<<":"<<lose<<endl;
lose=0;
win=0;
continue;
}
}
cout<<win<<":"<<lose<<endl;
cout<<endl;
lose=0;
win=0;
for(int i=0;i<62500;i++){
if(cp[i]==0) break;
else if(cp[i]==1) win++;
else if(cp[i]==2) lose++;
if(win+lose==21){
cout<<win<<":"<<lose<<endl;
lose=0;
win=0;
}
}
cout<<win<<":"<<lose<<endl;
return 0;
}