求 hack 数据
查看原帖
求 hack 数据
324350
xiaomuyun楼主2021/11/19 10:10

rt,#11 WA 了,求 hack 数据。

本来想水黄的,结果被黄虐了

#include<iostream>
using namespace std;
char c[5][5];
int xcnt=0,ocnt=0;
int main(){
	for(int i=1;i<=3;++i){
		for(int j=1;j<=3;++j){
			cin>>c[i][j];
			if(c[i][j]=='X') ++xcnt;
			else if(c[i][j]=='0') ++ocnt;
		}
	}
	if(xcnt-ocnt>1||ocnt>xcnt){
		printf("illegal\n",xcnt,ocnt);
		return 0;
	}
	bool f1=false,f2=false;
	for(int i=1;i<=3;++i){
		bool flag1=true,flag2=true;
		for(int j=1;j<=3;++j){
			if(c[i][j]=='X') flag2=false;
			else if(c[i][j]=='0') flag1=false;
			else flag1=flag2=false;
		}
		if(flag1) f1=true;
		if(flag2) f2=true;
	}
	for(int i=1;i<=3;++i){
		bool flag1=true,flag2=true;
		for(int j=1;j<=3;++j){
			if(c[j][i]=='X') flag2=false;
			else if(c[i][j]=='0') flag1=false;
			else flag1=flag2=false;
		}
		if(flag1) f1=true;
		if(flag2) f2=true;
	}
	if((f1&&f2)||(f1&&xcnt==ocnt)||(f2&&ocnt<xcnt)) printf("illegal\n");
	else if(f1) printf("the first player won\n");
	else if(f2) printf("the second player won\n");
	else if(xcnt+ocnt==9) printf("draw\n");
	else if(xcnt==ocnt) printf("first\n");
	else if(xcnt>ocnt) printf("second\n");
	return 0;
}

Link

2021/11/19 10:10
加载中...