大佬求助
  • 板块学术版
  • 楼主小杨小小杨
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/7/5 21:06
  • 上次更新2023/11/4 18:34:51
查看原帖
大佬求助
315398
小杨小小杨楼主2021/7/5 21:06

CF3C Tic-tac-toe,第120个点WA。

#include<bits/stdc++.h>
using namespace std;
int i,j,X,O;
char s[4][4];
bool flag1,flag2;
int main(){
 	scanf("%s%s%s",s[1]+1,s[2]+1,s[3]+1);
 	for(i=1;i<=3;i++)
 		for (j=1;j<=3;j++)	
 			O+=(s[i][j]=='0'?1:0),X+=(s[i][j]=='X'?1:0);
	if (s[1][1]==s[1][2]&&s[1][2]==s[1][3]&&s[1][1]!='.'){
		if (s[1][1]=='X') flag1=1;
		else flag2=1;
	}
	if (s[2][1]==s[2][2]&&s[2][2]==s[2][3]&&s[2][1]!='.'){
		if (s[2][1]=='X') flag1=1;
		else flag2=1;
	}
	if (s[3][1]==s[3][2]&&s[3][2]==s[3][3]&&s[3][1]!='.'){
		if (s[3][1]=='X') flag1=1;
		else flag2=1;
	}	
	if (s[1][1]==s[2][1]&&s[2][1]==s[3][1]&&s[1][1]!='.'){
		if (s[1][1]=='X') flag1=1;
		else flag2=1;
	}
	if (s[1][2]==s[2][2]&&s[2][2]==s[3][2]&&s[1][2]!='.'){
		if (s[1][2]=='X') flag1=1;
		else flag2=1;
	}
	if (s[1][3]==s[2][3]&&s[2][3]==s[3][3]&&s[1][3]!='.'){
		if (s[1][3]=='X') flag1=1;
		else flag2=1;
	}
	if (s[1][1]==s[2][2]&&s[2][2]==s[3][3]&&s[1][1]!='.'){
		if (s[1][1]=='X') flag1=1;
		else flag2=1;
	}	
	if (s[3][1]==s[2][2]&&s[2][2]==s[1][3]&&s[3][1]!='.'){
		if (s[3][1]=='X') flag1=1;
		else flag2=1;
	}
	if (flag1&&flag2||flag1&&(X==O)||flag2&&(X>O)||X<O||X-O>1) {printf("illegal\n");return 0;}
	if (flag1) {printf("the first player won\n");return 0;}
	if (flag2) {printf("the second player won\n");return 0;}
	if (X==O) {printf("first\n");return 0;}
	if (X>O) {printf("second\n");return 0;}
	if (!flag1&&!flag2&&X+O==9) {printf("draw\n");return 0;}
	return 0;
}

2021/7/5 21:06
加载中...