关注
等我提交的时候,没时间了。。。 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]);
}
}
查看原帖
点赞 评论
相关推荐


点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 写给毕业5年后的自己 #
1632次浏览 30人参与
# 上班苦还是上学苦呢? #
220782次浏览 1308人参与
# 华泰证券Fintech星战营 #
166255次浏览 188人参与
# 职场捅娄子大赛 #
305088次浏览 3066人参与
# 市场营销人求职交流聚集地 #
115808次浏览 1078人参与
# 华为求职进展汇总 #
4631691次浏览 28206人参与
# 如何缓解求职过程中的焦虑? #
4359次浏览 71人参与
# 如果今天是你的last day,你会怎么度过? #
20593次浏览 188人参与
# 好好告别我的学生时代 #
22441次浏览 457人参与
# 薪资爆料 #
107696次浏览 1156人参与
# 运营商笔面经互助 #
145228次浏览 1622人参与
# 晒一下我的毕业照 #
25243次浏览 231人参与
# 外包能不能当跳板? #
31260次浏览 200人参与
# 非技术求职现状 #
424776次浏览 2923人参与
# 简历无回复,你会继续海投还是优化再投? #
68962次浏览 697人参与
# 你的实习什么时候入职 #
248345次浏览 1890人参与
# 记录实习开销 #
15941次浏览 109人参与
# 我是XXX,请攻击我最薄弱的地方 #
26663次浏览 256人参与
# 宇通求职进展汇总 #
19856次浏览 162人参与
# 运营来爆料 #
43399次浏览 323人参与
# 00后45度躺现状 #
94058次浏览 488人参与