WA#12求调,回复必关
查看原帖
WA#12求调,回复必关
1101262
Ashankamiko楼主2025/1/13 10:06
#include <bits/stdc++.h>
using namespace std;

char d[6] = {'s', 'n', 'u', 'k', 'e'}, maps[600][600];
int dx[4] = {-1, 1, 0, 0}, dy[4] = {0, 0, -1, 1}, n, m, vis[600][600];

bool dfs(int x, int y, int b) {
	vis[x][y] = 1;
	if (maps[x][y] != d[b % 5])
		return false;
	if (x == n && y == m) {
		if (d[b % 5] == maps[x][y])
			return true;
		return false;
	}
	for (int i = 0; i < 4; i++) {
		int tx = x + dx[i], ty = y + dy[i];
		if (tx > 0 && ty > 0 && tx <= n && ty <= m && vis[tx][ty] == 0)
			if (dfs(tx, ty, b + 1))
				return true;
	}
	return false;
}

int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= m; j++)
			cin >> maps[i][j];
	if (dfs(1, 1, 0))
		cout << "Yes";
	else
		cout << "No";
	return 0;
}
2025/1/13 10:06
加载中...