关注
import java.util.*;
public class Main{
static Point[] po;
static int[][] b;
static boolean bo = false;
public void dfs(int[][] a, int count, int p, int x, int y) {
int n = a.length;
int m = a[0].length;
if (x == 0 && y == m -1) {
if (p >= 0) {
bo = true;
System.out.print("[0,0],");
for (int i = 0; i < count - 1; i ++) {
System.out.print("["+po[i].x+","+po[i].y+"],");
}
System.out.println("["+po[count - 1].x+","+po[count - 1].y+"]");
}
} else {
if ((x >= 0 && x < n)&&(y >= 0 && y < m - 1)&&a[x][y + 1] != 0&&b[x][y+1] == 0) {
y++;
count++;
p--;
Point point = new Point(x, y);
po[count - 1] = point;
b[x][y] = 1;
dfs(a, count, p,x,y);
b[x][y] = 0;
y--;
count--;
p++;
po[count] = null;
} else
if ((x > 0 && x < n)&&(y >= 0 && y < m)&&a[x - 1][y] != 0&&b[x-1][y] == 0) {
x--;
count++;
p = p - 3;
Point point = new Point(x, y);
po[count - 1] = point;
b[x][y] = 1;
dfs(a, count, p,x,y);
b[x][y] = 0;
x++;
count--;
p = p + 3;
po[count] = null;
} else
if ((x >= 0 && x < n - 1)&&(y >= 0 && y < m)&&a[x + 1][y] != 0&&b[x + 1][y] == 0) {
x++;
count++;
Point point = new Point(x, y);
po[count - 1] = point;
b[x][y] = 1;
dfs(a, count, p,x,y);
b[x][y] = 0;
x--;
count--;
po[count] = null;
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int p = sc.nextInt();
int[][] a = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
a[i][j] = sc.nextInt();
}
Main tutle = new Main();
tutle.po = new Point[10000];
tutle.b = new int[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
tutle.b[i][j] = 0;
}
tutle.b[0][0] = 1;
tutle.dfs(a,0,p,0,0);
if (!tutle.bo) {
System.out.println("Can not escape!");
}
}
}
class Point {
int x;
int y;
Point(int x, int y) {
this.x = x;
this.y = y;
}
}
写的好丑,也没有添加最优判断但还是ac了,只能说测试用例比较好过。
查看原帖
点赞 4
相关推荐
02-11 21:47
哈尔滨工业大学 Java ![](https://static.nowcoder.com/head/header0001.png)
点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
深信服
| 校招
| 15个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 大疆今年的机械笔试难吗? #
34466次浏览 405人参与
# 影石Insta360求职进展汇总 #
105907次浏览 936人参与
# 文科生还参加今年的春招吗 #
1708次浏览 20人参与
# 大疆的机械笔试比去年难吗 #
63330次浏览 575人参与
# 选择和努力,哪个更重要? #
36466次浏览 394人参与
# 24届市场营销薪资爆料 #
9009次浏览 62人参与
# 一人推荐一个值得去的通信/硬件公司 #
160247次浏览 1729人参与
# 如果公司降薪,你会跳槽吗? #
42584次浏览 323人参与
# 提前批的机械人,你们都有面试了吗 #
86151次浏览 929人参与
# 产品实习,你更倾向大公司or小公司 #
128707次浏览 1710人参与
# 产品薪资爆料 #
96698次浏览 814人参与
# 春招启动,你开始投递了吗? #
45233次浏览 435人参与
# 秋招前后对offer的期望对比 #
221667次浏览 1648人参与
# 大学四年该怎么过,才不算浪费时间? #
3314次浏览 32人参与
# 华为工作体验 #
149671次浏览 1052人参与
# 职场上哪些事情令人讨厌 #
12714次浏览 57人参与
# 机械人,你的第一份感谢信是谁给的 #
19864次浏览 257人参与
# 和牛牛一起刷真题 #
104922次浏览 2067人参与
# 你觉得机械有必要实习吗 #
33536次浏览 318人参与
# 2022毕业的你对23届的寄语 #
35060次浏览 533人参与