请大佬看看为啥只得60分

P1042 [NOIP2003 普及组] 乒乓球

zhanglovejj @ 2024-08-16 18:19:15

#include<iostream>
#include<cstdlib>
using namespace std;
char x;
int w1=0,l1=0,w2=0,l2=0,j1=1,j2=1;
int W1[10000],L1[10000];
int W2[5000],L2[5000];
int main(){
    //freopen("tree.in","r",stdin);
    //freopen("tree.out","w",stdout);
    while(cin>>x){
        if(x=='E'){
            W1[j1]=w1;
            L1[j1]=l1;
            W2[j2]=w2;
            L2[j2]=l2;
            break;
        }
        if(x=='\n') continue;
        if(x=='W'){w1++;w2++;}
        if(x=='L'){l1++;l2++;}
        if((w1==11||l1==11)){
            if(w1-2>=l1||l1-2>=w1){
                W1[j1]=w1;
                L1[j1]=l1;
                w1=0;l1=0;
                j1++;
            }
        }
        if(w2==21||l2==21){
            if(w2-2>=l2||l2-2>=w2){
                W2[j2]=w2;
                L2[j2]=l2;
                w2=0;l2=0;
                j2++;
            }
        }
    }
    for(int i=1;i<=j1;i++) cout<<W1[i]<<':'<<L1[i]<<endl;
    cout<<endl;
    for(int j=1;j<=j2-1;j++) cout<<W2[j]<<':'<<L2[j]<<endl;
    cout<<W2[j2]<<':'<<L2[j2];
    return 0;
}

by Marsilla @ 2024-08-16 18:47:41

@zhbzky123456 你这个代码在刚刚好输出一场比赛的时候会多输出0:0,比如在11:13的时候,因为你在结束一场比赛的时候就j1,j2加一了


by zhanglovejj @ 2024-08-17 12:26:30

@Marsilla 昨天有事,今天改了一下已经AC了,感谢!


|