30分,求助

P1042 [NOIP2003 普及组] 乒乓球

1. >直到分差大于或者等于 $2$,才一局结束。 2. >其中 $\texttt E$ 表示比赛信息结束,程序应该忽略 $\texttt E$ 之后的所有内容。
by Tim0509 @ 2024-02-09 13:46:03


```cpp #include<bits/stdc++.h> using namespace std; string st,s; int k; int m,e; int main() { while(cin>>s) { st+=s; } int len=st.find('E'); //cout<<len<<endl; //cout<<st<<endl; for(int i=0;i<len;i++)//11 { k++; if(st[i]=='W'){ m++; } if(st[i]=='L'){ e++; } if(m==11||e==11&&abs(m-e)>=2) { cout<<m<<":"<<e<<endl; m=0; e=0; k=0; } if(i==len-1) { cout<<m<<":"<<e<<endl; m=0; e=0; k=0; } } cout<<endl; k=0; m=0; e=0; for(int i=0;i<len;i++)//21 { k++; if(st[i]=='W'){ m++; } if(st[i]=='L'){ e++; } if(m==21||e==21&&abs(m-e)>=2) { cout<<m<<":"<<e<<endl; m=0; e=0; k=0; } if(i==len-1) { cout<<m<<":"<<e<<endl; m=0; e=0; k=0; } } return 0; } ``` 是这样吗?只对了4个点
by JXnd2021 @ 2024-02-09 13:50:22


以11分赛制举例:如果一个人分数不小于11,但是两人分差小于2,就继续比赛
by Tim0509 @ 2024-02-09 13:58:00


`E` 可能在开头,后面的字符全部省略
by Tim0509 @ 2024-02-09 13:58:34


` if(m==11||e==11&&abs(m-e)>=2)` `==`改成`>=`
by Tim0509 @ 2024-02-09 14:00:04


还是不对啊
by JXnd2021 @ 2024-02-09 14:08:52


私信
by Tim0509 @ 2024-02-09 14:17:33


|