90pts,#9WA

P1042 [NOIP2003 普及组] 乒乓球

yinzixia @ 2024-05-30 20:03:06

#include<bits/stdc++.h>
using namespace std;
char score[90000000];
int slen;
void ps(int ws){
    int my=0,e=0;
    if(slen==0){
        cout<<"0:0"<<endl;
    }
    for(int i=0;i<=slen;i++){
        if(score[i]=='W')my++;
        else if(score[i]=='L')e++;
        if(my>=ws||e>=ws){
            if(my-e>=2||e-my>=2){
                printf("%d:%d\n",my,e);
                my=0;
                e=0;
            }
        }else if(i==slen){
            printf("%d:%d\n",my,e);
        }else continue;
    }

}
int main(){
    char asd;
    while(asd!='E'){
        cin>>asd;
        score[slen++]=asd;
    }
    ps(11);
    cout<<endl;
    ps(21);
    return 0;
}

by thehanged @ 2024-06-12 10:43:24

可以参考一下我的代码 链接

主要是你的输出逻辑错了

我给你改了一下,ac了,见链接


by yinzixia @ 2024-07-06 13:50:31

@thehanged 谢谢大佬


|