0pts求调
查看原帖
0pts求调
1341857
Iron_sheets楼主2024/10/26 20:05
#include <bits/stdc++.h>
using namespace std;
char c[1000 + 9][1000 + 9];
int main()
{
	int t;
	cin >> t;
	while (t --)
	{
		int n, m, k;
		cin >> n >> m >> k;
		int x, y, d;
		cin >> x >> y >> d;
		for (int i = 1; i <= n; i ++)
		{
			for (int j = 1; j <= m; j ++)
			{
				cin >> c[i][j];
			}
		}
		int sum = 1;
		while (k --)
		{
			if (d == 0)
			{
				if (c[x][y + 1] == 'x' || y + 1 > m)
				{
					d = 1;
				}
				else
				{
					sum ++;
					y ++;
				}
			}
			else if (d == 1)
			{
				if (c[x + 1][y] == 'x' || x + 1 > n)
				{
					d = 2;
				}
				else
				{
					sum ++;
					x ++;
				}
			}
			else if (d == 2)
			{
				if (c[x][y - 1] == 'x' || y - 1 < m)
				{
					d = 3;
				}
				else
				{
					sum ++;
					y --;
				}
			}
			else
			{
				if (c[x - 1][y] == 'x' || x - 1 < n)
				{
					d = 0;
				}
				else
				{
					sum ++;
					x --;
				}
			}
			cout << "(" << x << "," << y << "), d = " << d << endl;
		}
		cout << sum << "\n";
	}
	return 0;
} 
2024/10/26 20:05
加载中...