关注
等我提交的时候,没时间了。。。 import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
int n = Integer.parseInt(line);
int[][] area = new int[n][n];
for (int i = 0; i < n; i++) {
line = scanner.nextLine();
String[] split = line.split(",");
if (split.length != n) {
throw new IllegalArgumentException("错误输入");
}
int j = 0;
for (String num : split) {
area[i][j++] = Integer.parseInt(num);
}
}
int minimumTimeCost = getMinimumTimeCost(n, area);
System.out.println(minimumTimeCost);
}
private static int getMinimumTimeCost(int n, int[][] area) {
int res = Integer.MAX_VALUE;
for (int i = 0; i < n; i++) {
int t = dfs(area, 0, i, n, 0);
// System.out.println("res:" + t);
if (t < res && t != -1)
res = t;
}
return res;
}
static int dfs(int[][] area, int i, int j, int n, int t) {
// System.out.println(i + " " + j);
if (i > n || j >= n)
return -1;
if (i == n)
return t;
if (j == n - 1)
return dfs(area, i += 2, j, n, t += area[i - 1][j]);
if (area[i + 1][j] <= area[i][j + 1])
return dfs(area, i += 2, j, n, t += area[i - 1][j]);
return dfs(area, i, j += 2, n, t += area[i][j - 1]);
}
}
查看原帖
点赞 评论
相关推荐
12-05 17:41
天津大学 PCB工程师 点赞 评论 收藏
分享
12-03 14:38
腾讯云智研发_网络产品中心_后台开发(准入职员工) 点赞 评论 收藏
分享
昨天 21:17
东北大学 Java 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
514492次浏览 5246人参与
# 我的求职思考 #
4279354次浏览 57698人参与
# 数字马力求职进展汇总 #
122648次浏览 1094人参与
# 晒一晒我的offer #
10151507次浏览 107273人参与
# 牛客激励计划 #
21341次浏览 579人参与
# 职场情商大赛 #
15509次浏览 171人参与
# 我的论文进展 #
5694次浏览 67人参与
# 秋招结束之后的日子 #
5167次浏览 51人参与
# 运营人的第一份offer应该如何选 #
89280次浏览 895人参与
# 同事找你打听工资怎么办 #
5641次浏览 56人参与
# 如何排解工作中的焦虑 #
83838次浏览 1130人参与
# 总结:哪家公司面试体验感最好 #
21081次浏览 96人参与
# 985本硕1个中小厂offer,摆烂or继续努力 #
87780次浏览 624人参与
# 字节跳动工作体验 #
229490次浏览 3140人参与
# 读研or工作,哪个性价比更高? #
18949次浏览 286人参与
# 发现同事在背后说你坏话怎么办 #
4549次浏览 59人参与
# 求职你最看重什么? #
20275次浏览 146人参与
# 夸夸我的求职搭子 #
136388次浏览 1408人参与
# 应届生应该先就业还是先择业 #
65999次浏览 348人参与
# 面试题刺客退退退 #
148986次浏览 2194人参与