10分,#2到#9WA
查看原帖
10分,#2到#9WA
893114
denghuolanshan_1004楼主2023/9/9 11:54
#include<iostream>
using namespace std;
int main(){
    char a,b[62530];
    int cnt;
    while (cin>>a){
        if (a=='E'){
            if (cnt==0)b[0]='E';
            break;
        }
        b[cnt]=a;
    }
    if (b[0]=='E'){
        cout<<"0:0\n\n0:0";
        return 0;//特判第一个是E
    }
    int fenW,fenL;
    for(int i=0;i<cnt;i++){//11分
        if (b[i]=='W')fenW++;//加分
        else fenL++;
        if (fenW==11&&fenL<10){//W11分胜利
            cout<<"11:"<<fenL<<endl;
            fenW=0;
            fenL=0;
        }else if(fenL==11&&fenW<10){//L11分胜利
            cout<<fenW<<":11"<<endl;
            fenW=0;
            fenL=0;
        }else if (fenW>=11&&fenW-fenL==2){//W12分and以上胜利
            cout<<fenW<<":"<<fenL;
            fenW=0;
            fenL=0;
        }else if (fenL>=11&&fenW-fenL==-2){//L12分and以上胜利
            cout<<fenW<<":"<<fenL;
            fenW=0;
            fenL=0;
        }
    }
    
    if (fenW!=0||fenL!=0){//输出剩余
        cout<<fenW<<":"<<fenL<<endl<<endl;
    }else cout<<endl;
    
    fenW=0;
    fenL=0;
    
    
    for(int i=0;i<cnt;i++){//21分
        if (b[i]=='W')fenW++;//加分
        else fenL++;
        if (fenW==21&&fenL<20){//W21分胜利
            cout<<"21:"<<fenL<<endl;
            fenW=0;
            fenL=0;
        }else if(fenL==21&&fenW<20){//L11分胜利
            cout<<fenW<<":21"<<endl;
            fenW=0;
            fenL=0;
        }else if (fenW>=21&&fenW-fenL==2){//W22分and以上胜利
            cout<<fenW<<":"<<fenL;
            fenW=0;
            fenL=0;
        }else if (fenL>=21&&fenW-fenL==-2){//L22分and以上胜利
            cout<<fenW<<":"<<fenL;
            fenW=0;
            fenL=0;
        }
    }
    if (fenW!=0||fenL!=0){//输出剩余
        cout<<fenW<<":"<<fenL<<endl<<endl;
    }else{
        cout<<endl;
    }

    return 0;
}

对了第一个点是因为特判了第一个字符就是 EE 的情况

2023/9/9 11:54
加载中...