求助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
查看原帖
求助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
895690
gghack_Nythix楼主2022/12/30 19:53

第四个点显示Wrong Answer.wrong answer 1st words differ - expected: 'illegal', found: 'first'

代码

#include <bits/stdc++.h>
using namespace std;
char a[5][5];
int tot[5];
bool check1()
{
	if(tot[1] == tot[2])
	{
		return 1;
	}
	return 0;
}
bool check2()
{
	if(tot[1] - tot[2] == 1)
	{
		return 1;
	}
	return 0;
}
bool check3()
{
	if(tot[1] - tot[2] >= 2)
	{
		return true;
	}
	else if(tot[1] < tot[2])
	{
		return true;
	}
	return false;
}
bool check4()
{
	for(int i = 1;i <= 3;i ++)
	{
		for(int j = 1;j <= 3;j ++)
		{
			if(a[i][j] == 'X')
			{
				if(a[i][j - 1] == 'X' && a[i][j + 1] == 'X')
				{
					return 1;
				}
				else if(a[i][j +1] == 'X' && a[i][j + 2] == 'X')
				{
					return 1;
				}
				else if(a[i-1][j] == 'X' && a[i+1][j] == 'X')
				{
					return 1;
				}
				else if(a[i+1][j] == 'X' && a[i+2][j] == 'X')
				{
					return 1;
				}
				else if(a[i - 1][j + 1] == 'X' && a[i + 1][j - 1] == 'X')
				{
					return 1;
				}
				else if(a[i - 1][j - 1] == 'X' && a[i - 1][j + 1] == 'X')
				{
					return 1;
				}
			}
		}
	}
	return 0;
}
bool check5()
{
	for(int i = 1;i <= 3;i ++)
	{
		for(int j = 1;j <= 3;j ++)
		{
			if(a[i][j] == 'O')
			{
				if(a[i][j - 1] == 'O' && a[i][j + 1] == 'O')
				{
					return 1;
				}
				else if(a[i][j +1] == 'O' && a[i][j + 2] == 'O')
				{
					return 1;
				}
				else if(a[i-1][j] == 'O' && a[i+1][j] == 'O')
				{
					return 1;
				}
				else if(a[i+1][j] == 'O' && a[i+2][j] == 'O')
				{
					return 1;
				}
				else if(a[i - 1][j + 1] == 'O' && a[i + 1][j - 1] == 'O')
				{
					return 1;
				}
				else if(a[i - 1][j - 1] == 'O' && a[i - 1][j + 1] == 'O')
				{
					return 1;
				}
			}
		}
	}
	return 0;
}
signed main(int argc, char const *argv[])
{
	for(int i = 1;i <= 3;i ++)
	{
		for(int j = 1;j <= 3;j ++)
		{
			cin >> a[i][j];
			if(a[i][j] == 'X')
			{
				tot[1]++;
			}
			else if(a[i][j] == '0')
			{
				tot[2]++;
			}
		}
	}
	if(check3())
	{
		cout << "illegal";
		return 0;
	}
	if(check4() && check5())
	{
		cout << "draw";
		return 0;
	}
	if(check1())
	{
		cout <<"first";
		return 0;
	}
	if(check2())
	{
		cout <<"second";
		return 0;
	}
	if(check4())
	{
		cout << "the first player won";
		return 0;
	}
	if(check5())
	{
		cout << "the second player won";
		return 0;
	}	
	return 0;
}
2022/12/30 19:53
加载中...