jihanyu123 @ 2024-09-22 20:35:49
#include<bits/stdc++.h>
using namespace std;
string s;
int w,l,w1,l1;
int main(){
for(int i=1;i<=2501;i++){
string t;
cin>>t;
int flag=0;
for(int j=0;j<t.size();j++){
if(t[j]=='E'){
flag=1;
t[j]='\0';
break;
}
}
s+=t;
if(flag) break;
}
for(int i=0;i<s.size();i++){
if(i%11==0&&i!=0||i==s.size()-1) {
cout<<w<<":"<<l<<"\n";
w=l=0;
}
if(s[i]=='W') w++;
if(s[i]=='L') l++;
}
cout<<"\n";
for(int i=0;i<s.size();i++){
if(i%21==0&&i!=0||i==s.size()-1){
cout<<w1<<":"<<l1<<"\n";
w1=l1=0;
}
if(s[i]=='W') w1++;
if(s[i]=='L') l1++;
}
return 0;
}
by ZYC_zyc @ 2024-09-22 21:07:59
11分制:
当A的得分大于等于11,并且A比B的分数多2时,此局结束,A赢。
当B的得分大于等于11,并且B比A的分数多2时,此局结束,B赢。
21分制:
当A的得分大于等于21,并且A比B的分数多2时,此局结束,A赢。
当B的得分大于等于21,并且B比A的分数多2时,此局结束,B赢。
by ZYC_zyc @ 2024-09-22 21:20:27
所以你的代码应改为
#include<bits/stdc++.h>
using namespace std;
string s;
int w,l,w1,l1;
int main(){
for(int i=1;i<=2501;i++){
string t;
cin>>t;
if(t[0]=='E')break;
int flag=0;
for(int j=0;j<t.size();j++){
if(t[j]=='E'){
flag=1;
t[j]='\0';
break;
}
}
s+=t;
if(flag) break;
}
s+='\0';
if(s.size()<1)printf("0:0\n\n0:0\n"),exit(0);
for(int i=0;i<s.size();i++){
if((w>=11&&w-l>=2)||(l>=11&&l-w>=2)||i==s.size()-1) {
cout<<w<<":"<<l<<"\n";
w=l=0;
}
if(s[i]=='W') w++;
if(s[i]=='L') l++;
}
cout<<"\n";
for(int i=0;i<s.size();i++){
if((w1>=21&&w1-l1>=2)||(l1>=21&&l1-w1>=2)||i==s.size()-1){
cout<<w1<<":"<<l1<<"\n";
w1=l1=0;
}
if(s[i]=='W') w1++;
if(s[i]=='L') l1++;
}
return 0;
}
by ZYC_zyc @ 2024-09-22 21:23:48
@jihanyu123
代码真拧巴
by jihanyu123 @ 2024-09-23 18:44:18
OHthanks