社区讨论

30分史山求调

P1042[NOIP 2003 普及组] 乒乓球参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mi7m8dhk
此快照首次捕获于
2025/11/20 23:58
4 个月前
此快照最后确认于
2025/11/21 01:11
4 个月前
查看原帖

写在前面:

自己查过了讨论区佬进食后人的点
然后发现

我就过了那几个??!

一开始29和46行的'L'被我写成了'N'

全WA!

改了一下后

炸RE!

所以有了第十三行代码s+="EEEEEEE";
然后就

30分!

求指出问题orz


下面是代码部分:
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    char n;
    string s="";
    while(cin>>n){
        s+=n;
        if(n=='E'){
            break;
        }
    }
    s+="EEEEEEE";
    bool k;
    for(long long i=0;i<s.length();i++){
        a=0;
        b=0;
        k=false;
        while(!((a==11&&b<10)||(b==11&&a<10)||(a>=10&&b>=10&&(a-b==2||b-a==2)))){
            if(s[i]=='W') a++;
            else if(s[i]=='L') b++;
            if(s[i]=='E'){
                k=true;
                break;
            }
            i++;
        }
        cout<<a<<":"<<b<<endl;;
        if(k) break;
    }
    cout<<endl;
    for(long long i=0;i<s.length();i++){
        a=0;
        b=0;
        k=false;
        while(!((a==21&&b<20)||(b==21&&a<20)||(a>=20&&b>=20&&(a-b==2||b-a==2)))){
            if(s[i]=='W') a++;
            else if(s[i]=='L') b++;
            if(s[i]=='E'){
                k=true;
                break;
            }
            i++;
        }
        cout<<a<<":"<<b<<endl;;
        if(k) break;
    }
}

回复

0 条回复,欢迎继续交流。

正在加载回复...