关注
等我提交的时候,没时间了。。。 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]);
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
537271次浏览 5493人参与
# 运营每日一题 #
23491次浏览 386人参与
# 百融云创开奖 #
50661次浏览 602人参与
# 上班苦还是上学苦呢? #
179859次浏览 1070人参与
# 我的求职思考 #
4301480次浏览 57954人参与
# 牛客激励计划 #
37251次浏览 870人参与
# 听劝,这个公司值得去吗 #
338073次浏览 1375人参与
# 我的论文进展 #
13269次浏览 170人参与
# 数字马力求职进展汇总 #
125161次浏览 1106人参与
# 职场情商大赛 #
19763次浏览 212人参与
# 正在实习的你,几点下班 #
58277次浏览 431人参与
# 提前批简历挂麻了怎么办 #
153279次浏览 2000人参与
# 秋招结束之后的日子 #
10450次浏览 92人参与
# 秋招后遗症 #
2219次浏览 38人参与
# 晒一晒我的offer #
10187867次浏览 107538人参与
# 同事找你打听工资怎么办 #
8864次浏览 79人参与
# 怎么委婉指出leader的错误 #
4337次浏览 28人参与
# 不给转正的实习,你还去吗 #
1574333次浏览 17611人参与
# 你上一次加班是什么时候? #
24295次浏览 197人参与
# 现在前端的就业环境真的很差吗 #
94759次浏览 989人参与
# 应届生初入职场,求建议 #
140085次浏览 2218人参与