题解 P1042 【乒乓球】

vivarock

2017-11-26 11:49:29

Solution

```cpp //oier小白题解 //如此水题相必各位大佬,神犇肯定会写 //我的几个问题: //1.数组开小了 //2.忘记算2的情况 //下面是丑陋的代码 #include<iostream> #include<cstdio> #include<cmath> #define For(i,j,l) for(int i=l;i<=j;++i)//宏定义 using namespace std; char a[21*10005]; int main(){ ios::sync_with_stdio;//小小的优化,让cin与scanf一样快 int i=1,w_11=0,l_11=0,w_21=0,l_21=0;//可以用下划线来定变量 do cin>>a[i];while(a[i++]!='E');//读入数据 --i; For(k,i,1){ if(a[k]=='W')w_11++; if(a[k]=='L')l_11++; if(w_11>=11&&w_11-l_11>=2||l_11>=11&&l_11-w_11>=2){ cout<<w_11<<":"<<l_11<<"\n"; w_11=0;l_11=0; } ``` }//计算11进制 ```cpp cout<<w_11<<":"<<l_11; printf("\n\n"); For(k,i,1){ if(a[k]=='W')w_21++; if(a[k]=='L')l_21++; if((w_21>=21&&w_21-l_21>=2||l_21>=21&&l_21-w_21>=2)){ cout<<w_21<<":"<<l_21<<"\n"; w_21=0;l_21=0; } ``` } 计算21进制 cout<<w\_21<<":"<<l\_21; return 0; }