80分,求助

P1042 [NOIP2003 普及组] 乒乓球

lcx666_76 @ 2024-06-24 20:07:42

#include <iostream>
#include <cmath>
using namespace std;

char s;
long long b[10000001][2];//11分制
long long a[10000001][2];//21分制
long long w,l,i,j,r,t,temp=0,tempp=0;

int main(){
    while(s!='E'){
        cin>>s;
        if(s=='W'){  //记录华华得分 
            w++;
            i++;
            j++;
            r++;
        }
        else{        //记录对手得分 
            l++;
            i++;
            j++;
            t++;
        }
        if((w>=11 or l>=11) and abs(w-l)>=2){   //11分制判断 
            b[tempp][0]=w;
            b[tempp][1]=l;
            w=0;
            l=0;
            i=0;
            tempp++;
        }
        if((r>=21 or t>=21) and abs(r-t)>=2){   //21分制判断
            a[temp][0]=r;
            a[temp][1]=t;
            r=0;
            t=0;
            j=0;
            temp++;
        }
    }
    //cout<<tempp<<endl;
    //cout<<i<<endl;
    if(i!=1){
        b[tempp][0]=w;  //不完全1局 
        b[tempp][1]=l-1;
        for(int k=0;k<=tempp;k++){
            cout<<b[k][0]<<':'<<b[k][1]<<endl;
        }
    }
    else{
        for(int k=0;k<=tempp-1;k++){   //去尾 
            cout<<b[k][0]<<':'<<b[k][1]<<endl;
        }
    }
    cout<<endl;
    //cout<<temp<<endl;
    //cout<<j<<endl;
    if(j!=1){
        a[temp][0]=r;  //不完全1局 
        a[temp][1]=t-1;
        for(int k=0;k<=temp;k++){
            cout<<a[k][0]<<':'<<a[k][1]<<endl;
        }
    }
    else{
        for(int k=0;k<=temp-1;k++){   //去尾 
            cout<<a[k][0]<<':'<<a[k][1]<<endl;
        }
    }
    return 0;
}

80分,求助


by Grammar__hbw @ 2024-06-24 20:09:50

long long b[10000001][2];//11分制
long long a[10000001][2];//21分制

你不 \mathrm{MLE}\mathrm{MLE}


by Liu_Zi_Xiao @ 2024-06-26 17:28:12

@lcx666_76

#include<bits/stdc++.h>
using namespace std;
char c[62530];
int n,m;
int main(){
    for(int i=0;c[i-1]!='E';++i) scanf("%c",&c[i]);
    for(int i=0;c[i]!='E';++i){
        if(c[i]=='W') ++n;
        else if(c[i]=='L') ++m;
        if( (n>=11 && n-m>=2) || (m>=11 && m-n>=2) ){
            cout<<n<<':'<<m<<endl;
            n=0;
            m=0;
        }
    }
    cout<<n<<':'<<m;
    cout<<endl<<endl;
    n=0;
    m=0;
    for(int i=0;c[i]!='E';++i){
        if(c[i]=='W') ++n;
        else if(c[i]=='L') ++m;
        if( (n>=21 && n-m>=2) || (m>=21 && m-n>=2) ){
            cout<<n<<':'<<m<<endl;
            n=0;
            m=0;
        }
    }
    cout<<n<<':'<<m;
    return 0;
}

结果在此


by lcx666_76 @ 2024-06-26 18:47:54

感谢,已解决


|