。。。。。。

P1042 [NOIP2003 普及组] 乒乓球

第一份代码输入出问题了
by liuruiqing @ 2024-02-21 13:15:17


```cpp do{ cin>>ch; if(ch=='W') a[num]=1; if(ch=='L') a[num]=0; num++; }while(ch!='E');//原来是}while(ch=='E); ```
by liuruiqing @ 2024-02-21 13:16:09


抱歉,错误代码是这个 @[liuruiqing](/user/1118614) ```cpp #include<bits/stdc++.h> using namespace std; int f[2]={11,21},a[2501*25+1],num=0; int main(){ char ch; do{ cin>>ch; if(ch=='W') a[num]=1; if(ch=='L') a[num]=0; num++; }while(ch!='E'); for(int i=0;i<=1;i++){ int w=0,l=0; for(int j=0;j<=num-1;j++){ if(a[j]==1) w++; if(a[j]==0 ) l++; if(max(w,l)>=f[i]&&abs(w-l)>=2){ cout<<w<<":"<<l<<endl; w=0; l=0; } } cout<<w<<":"<<l<<endl<<endl; } return 0; } ```
by lucy2012 @ 2024-02-21 13:23:44


呃,感叹号我发错了
by lucy2012 @ 2024-02-21 13:25:16


```cpp #include<bits/stdc++.h> using namespace std; int f[2]={11,21},a[2501*25+1],num=0; int main(){ char ch; do{ cin>>ch; if(ch=='W') a[num]=1; if(ch=='L') a[num]=0; num++; }while(ch!='E'); for(int i=0;i<=1;i++){ int w=0,l=0; for(int j=0;j<=num-1;j++){ if(a[j]==1) w++; if(a[j]==0 ) l++; if(max(w,l)>=f[i]&&abs(w-l)>=2){ cout<<w<<":"<<l<<endl; w=0; l=0; } } cout<<w<<":"<<l<<endl<<endl; } return 0; } ```
by lucy2012 @ 2024-02-21 13:25:58


第一份代码,输入字符如果是`E`,程序会把num多加1。而第二份代码不是
by liuruiqing @ 2024-02-21 13:37:05


@[liuruiqing](/user/1118614) 就直接break掉了,没有多加
by liuruiqing @ 2024-02-21 13:41:24


@[liuruiqing](/user/1118614) 三克油!
by lucy2012 @ 2024-02-21 14:39:42


|