样例过不去
查看原帖
样例过不去
1278584
VirtualImage楼主2024/4/23 19:23

样例输出:

11:0

11:0

1:1


21:0

2:11

我的输出:

11:0

11:1

1:1


21:0

2:1

code:

#include<cstdio>
const int maxn=25*2501+5;
bool pingpong[maxn];
int cnt11[2][maxn],cnt21[2][maxn];
int main(){
	int i=0;
	char c;
	//W=huahua,L=?,E=end
	while(~scanf("%c",&c)&&c!='E'){
		if(c=='W') pingpong[i]=true;
		else pingpong[i]=false;
		i++;
	}
	int q1=-1,q2=-1;
	int pingpong_11_1=0,pingpong_11_2=0,pingpong_21_1=0,pingpong_21_2=0;
	for(int j=0;j<i;j++){
		if((pingpong_11_1==11||pingpong_11_2==11)&&(pingpong_11_1-pingpong_11_2>=2||pingpong_11_2-pingpong_11_2>=2)){
			cnt11[0][++q1]=pingpong_11_1;
			cnt11[1][q1]=pingpong_11_2;
			pingpong_11_1=0;
			pingpong_11_2=0;
		}
		if((pingpong_21_1==21||pingpong_21_2==21)&&(pingpong_21_1-pingpong_21_2>=2||pingpong_21_2-pingpong_21_2>=2)){
			cnt21[0][++q2]=pingpong_21_1;
			cnt21[1][q2]=pingpong_21_2;
			pingpong_21_1=0;
			pingpong_21_2=0;
		}
		if(pingpong[j]){
			pingpong_11_1++;
			pingpong_21_1++;
		}else{
			pingpong_11_2++;
			pingpong_21_2++;
		}
	}
	cnt11[0][++q1]=pingpong_11_1;
	cnt11[1][q1]=pingpong_11_2;
	cnt21[0][++q2]=pingpong_21_1;
	cnt21[1][q2]=pingpong_21_2;
	for(int j=0;j<=q1;j++){
		printf("%d:%d\n",cnt11[0][j],cnt11[1][j]);
	}
	puts("");
	for(int j=0;j<=q2;j++){
		printf("%d:%d\n",cnt21[0][j],cnt21[1][j]);
	}
	return 0;
}
2024/4/23 19:23
加载中...