题解 P1042 【乒乓球】
vivarock
2017-11-26 11:49:29
```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;
}