关注
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Third {
static int M, N, minDist = Integer.MAX_VALUE;
static int[][] parArea;
static int direc1[] = {-1, 1, 0, 0}, direc2[] = {0, 0, 1, -1};
static List<Integer[]> res = null;
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
M = cin.nextInt();
N = cin.nextInt();
int i1 = cin.nextInt();
int j1 = cin.nextInt();
parArea = new int[M + 1][N + 1];
boolean[][] visited = new boolean[M + 1][N + 1];
for (int i = 1; i < M + 1; i++) {
for (int j = 1; j < N + 1; j++) {
parArea[i][j] = cin.nextInt();
}
}
List<Integer[]> path = new ArrayList<>();
dfs(i1, j1, path, 1, visited);
if (res == null) {
System.out.print(-1 + " " + -1);
return;
}
for (int i = 0; i < res.size(); i++) {
System.out.print(res.get(i)[0] + " " + res.get(i)[1]);
if (i < res.size() - 1) System.out.print(" ");
}
}
public static void dfs(int curI, int curJ, List<Integer[]> path, int dist, boolean[][] visited) {
if (parArea[curI][curJ] == 3 || parArea[curI][curJ] == 2) return;
if (parArea[curI][curJ] == 1) {
path.add(new Integer[]{curI, curJ});
if (dist < minDist) {
res = new ArrayList<>(path);
minDist = dist;
}else if (dist == minDist &;&; path.get(path.size() - 1)[0] < res.get(res.size() - 1)[0]) {
res = new ArrayList<>(path);
}
path.remove(path.size() - 1);
return;
}
visited[curI][curJ] = true;
path.add(new Integer[]{curI, curJ});
for (int i = 0; i < 4; i++) {
int nextI = curI + direc1[i], nextJ = curJ +direc2[i];
if (nextI >= 1 &;&; nextI <= M &;&; nextJ >= 1 &;&; nextJ <= N &;&; !visited[nextI][nextJ]) {
if ((i == 2 || i == 3)
dfs(nextI, nextJ, path, dist + 1, visited);
}
}
path.remove(path.size() - 1);
visited[curI][curJ] = false;
}
}
查看原帖
1 5
相关推荐
2025-12-23 23:49
门头沟学院 算法工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
13142次浏览 176人参与
# 机械人避雷的岗位/公司 #
44465次浏览 313人参与
# 程序员找工作至少要刷多少题? #
22053次浏览 282人参与
# 工作前VS工作后,你的心态变化 #
38261次浏览 266人参与
# 论秋招对个人心气的改变 #
14323次浏览 196人参与
# 为了减少AI幻觉,你注入过哪些设定? #
6634次浏览 189人参与
# 牛客AI体验站 #
8419次浏览 216人参与
# 你的mentor是什么样的人? #
51320次浏览 724人参与
# 你现在会用到哪些AI技能? #
24702次浏览 137人参与
# 找实习多的是你不知道的事 #
1788559次浏览 20670人参与
# 我现在比当时_,你想录用我吗 #
9741次浏览 132人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2421次浏览 52人参与
# 应届生进小公司有什么影响吗 #
118601次浏览 1161人参与
# 一张图晒一下你的AI员工 #
6018次浏览 131人参与
# 哪一瞬间让你觉得工作好累 #
75633次浏览 431人参与
# AI Coding的使用心得 #
5643次浏览 117人参与
# 父母对你找工作是助力还是阻力? #
38360次浏览 387人参与
# 刚入职的你踩过哪些坑 #
7924次浏览 140人参与
# 我和mentor的爱恨情仇 #
106431次浏览 951人参与
# 25年找工作是什么难度? #
53636次浏览 338人参与