大佬帮帮蒟蒻吧(悬关)
查看原帖
大佬帮帮蒟蒻吧(悬关)
1286132
Baichuzhi楼主2025/2/2 11:33
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 105;
char a[N][N];
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n , m;
	char fang;
	cin >> n >> m >> fang;
	bool flag1 = 0 , flag2 = 0;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			cin >> a[i][j];
			if (a[i][j] == 'o')
			{
				flag1 = 1;
			}
			if (a[i][j] == 'x')
			{
				flag2 = 1;
			}
		}
	}
	if (flag1 == 0 || flag2 == 0)
	{
		cout << "OK";
		return 0;
	}
	if (fang == '^')
	{
		bool flag = 0;
		for (int i = 1; i <= n; i++)
		{
			int shuix = 0 , shuiy = 0;
			for (int j = 1; j <= m; j++)
			{
				if (a[i][j] == 'o')
				{
					shuix = i;
					shuiy = j;
					while (shuix - 1 != 0 && a[shuix][shuiy] != 'x')
					{
						shuix--;
					}
					if (a[shuix][shuiy] == 'x')
					{
						cout << "GG";
						flag = 1;
						break;
					}
				}
			}
			if (flag == 1)
			{
				break;
			}
		}
		if (flag == 0)
		{
			cout << "OK";
		}
	}
	else if (fang == 'v')
	{
		bool flag = 0;
		for (int i = 1; i <= n; i++)
		{
			int shuix = 0 , shuiy = 0;
			for (int j = 1; j <= m; j++)
			{
				if (a[i][j] == 'o')
				{
					shuix = i;
					shuiy = j;
					while (shuix + 1 != n + 1 && a[shuix][shuiy] != 'x')
					{
						shuix++;
					}
					if (a[shuix][shuiy] == 'x')
					{
						cout << "GG";
						flag = 1;
						break;
					}
				}
			}
			if (flag == 1)
			{
				break;
			}
		}
		if (flag == 0)
		{
			cout << "OK";
		}
	}
	else if (fang == '<')
	{
		bool flag = 0;
		for (int i = 1; i <= n; i++)
		{
			int shuix = 0 , shuiy = 0;
			for (int j = 1; j <= m; j++)
			{
				if (a[i][j] == 'o')
				{
					shuix = i;
					shuiy = j;
					while (shuiy - 1 != 0 && a[shuix][shuiy] != 'x')
					{
						shuiy--;
					}
					if (a[shuix][shuiy] == 'x')
					{
						cout << "GG";
						flag = 1;
						break;
					}
				}
			}
			if (flag == 1)
			{
				break;
			}
		}
		if (flag == 0)
		{
			cout << "OK";
		}
	}
	else
	{
		bool flag = 0;
		for (int i = 1; i <= n; i++)
		{
			int shuix = 0 , shuiy = 0;
			for (int j = 1; j <= m; j++)
			{
				if (a[i][j] == 'o')
				{
					shuix = i;
					shuiy = j;
					while (shuiy + 1 != m && a[shuix][shuiy] != 'x')
					{
						shuiy++;
					}
					if (a[shuix][shuiy] == 'x')
					{
						cout << "GG";
						flag = 1;
						break;
					}
				}
			}
			if (flag == 1)
			{
				break;
			}
		}
		if (flag == 0)
		{
			cout << "OK";
		}
	}
	return 0;
}

50分,Subtask 4有错误

2025/2/2 11:33
加载中...