关注
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* Created by VinDiesel on 2017/4/2.
*/
public class Main {
private static int[][] maze;
private static List<Node> path = new
ArrayList<>();
private static int n;
private static int m;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
n = scanner.nextInt();
m = scanner.nextInt();
maze = new int[n][m];
for (int i = 0; i < n; ++i)
for (int j = 0; j < m; ++j)
maze[i][j] = scanner.nextInt();
List<Node> list = new ArrayList<>();
list.add(new Node(0,0));
manualMaze(list,0,0);
for (Node node : path)
System.out.println("("+node.x+","+node.y+")");
}
}
static int minStep = Integer.MAX_VALUE;
public static void manualMaze(List<Node> list, int
n_num, int m_num){
if (n_num == n - 1 && m_num == m - 1){
if (list.size() < minStep){
minStep = list.size();
for (Node node : list)
path.add(node);
return;
}
}
if (m_num < m - 1 && maze[n_num][m_num+1] !=
1){
list.add(new Node(n_num,m_num+1));
manualMaze(list,n_num,m_num+1);
list.remove(list.size() - 1);
}
if (n_num < n - 1 && maze[n_num+1][m_num] !=
1){
list.add(new Node(n_num+1,m_num));
manualMaze(list,n_num+1,m_num);
list.remove(list.size() - 1);
}
}
}
class Node{
public int x;
public int y;
public Node(int x,int y){
this.x=x;
this.y=y;
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招落幕,你是He or Be #
1010次浏览 35人参与
# 应届生进小公司有什么影响吗 #
108410次浏览 1105人参与
# 重来一次,你会对开始求职的自己说 #
1610次浏览 36人参与
# 团建是“福利”还是是 “渡劫” #
2846次浏览 67人参与
# 一人说一个提前实习的好处 #
1915次浏览 28人参与
# 实习没事做是福还是祸? #
5885次浏览 90人参与
# 你小心翼翼的闯过多大的祸? #
5517次浏览 83人参与
# OPPO求职进展汇总 #
755663次浏览 5390人参与
# 工作中听到最受打击的一句话 #
1205次浏览 18人参与
# 今年你最想重开的一场面试是? #
956次浏览 17人参与
# 大厂VS公务员你怎么选 #
69634次浏览 643人参与
# 今年形式下双非本找得到工作吗 #
266076次浏览 1541人参与
# 公司情报交流地 #
127265次浏览 1232人参与
# 实习简历求拷打 #
26399次浏览 261人参与
# 从顶到拉给所有面过的公司评分 #
144578次浏览 516人参与
# 面试时间长是好事吗? #
116613次浏览 706人参与
# 面试尴尬现场 #
209217次浏览 851人参与
# 找不到好工作选择GAP真的丢人吗 #
93800次浏览 1008人参与
# 投格力的你,拿到offer了吗? #
155428次浏览 832人参与
# 作业帮求职进展汇总 #
85892次浏览 562人参与
