社区讨论

可怜!一个鸭蛋求帮!

B4386[语言月赛 202508] 迷宫寻路参与者 2已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mk93inji
此快照首次捕获于
2026/01/11 10:09
2 个月前
此快照最后确认于
2026/01/14 18:15
2 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;

int n, m, q, a[103][103], x, y, ans, xx, yy;
bool f, mp[103][103];

int main() {
//	freopen(".in", "r", stdin);
//	freopen(".out", "w", stdout);
	cin >> n >> m >> q;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) cin >> a[i][j];
	}
	while (q--) {
		f = true, ans = 0;
		for (int i = 0; i <= 103; i++) {
			for (int j = 0; j <= 103; j++) mp[i][j] = false;
		}
		cin >> x >> y;
		mp[x][y] = true;
		xx = x, yy = y;
		while (true) {
			if (a[xx][yy] == 1) xx--;
			else if (a[xx][yy] == 2) xx++;
			else if (a[xx][yy] == 3) yy--;
			else if (a[xx][yy] == 4) yy++;
            if (xx == 0 || xx == n + 1 || yy == 0 || yy == m + 1) break;
			if (mp[xx][yy]) {
				f = false;
				break;
			}
			mp[xx][yy] = true;
			ans++;
		}
		if (f) cout << ans << endl;
		else cout << "-1" << endl;
	}
	
	return 0;
}
一个大可怜,爆了个鸭蛋,哪位Big old能帮帮我啊!
帮我必关!

回复

5 条回复,欢迎继续交流。

正在加载回复...