关注
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] times = new int[6][6];
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
times[i][j] = sc.nextInt();
if (times[i][j] == -1) {
times[i][j] = Integer.MAX_VALUE;
}
}
}
int[] dist = distence(times);
for (int i = 1; i < 6; i++) {
System.out.println(dist[i]);
}
}
public static int[] distence(int[][] times) {
int maxTime = Integer.MAX_VALUE;
int N = 6;
int[] dist = new int[N];
boolean[] isVisited = new boolean[N];
for (int i = 0; i < N; i++) {
dist[i] = times[0][i];
}
isVisited[0] = true;
for (int i = 0; i < N; i++) {
int min = maxTime;
int k = 0;
for (int j = 0; j < N; j++) {
if (!isVisited[j] && dist[j] < min) {
min = dist[j];
k = j;
}
}
isVisited[k] = true;
for (int j = 0; j < N; j++) {
if (!isVisited[j] && times[k][j] != maxTime) {
if (dist[j] >= times[k][j] + dist[k]) {
dist[j] = times[k][j] + dist[k];
}
}
}
}
return dist;
}
} ac了,按回忆写的,有些可能有问题,但是大概思路就是这个
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 技术岗笔试题求解 #
77594次浏览 1005人参与
# 拼多多求职进展汇总 #
642342次浏览 4983人参与
# 工作一周年分享 #
30698次浏览 179人参与
# 如果公司给你放一天假,你会怎么度过? #
16249次浏览 122人参与
# 作业帮求职进展汇总 #
55758次浏览 370人参与
# 华子oc时间线 #
1236418次浏览 6473人参与
# OPPO求职进展汇总 #
662176次浏览 5032人参与
# 总结:哪家公司面试体验感最差 #
60475次浏览 273人参与
# 职场上哪些事情令人讨厌 #
18719次浏览 91人参与
# 三一重工求职进展汇总 #
14313次浏览 65人参与
# 去年你投递实习了吗? #
21991次浏览 329人参与
# 这些公司卡简历很严格 #
41287次浏览 204人参与
# 扒一扒那些奇葩实习经历 #
66306次浏览 913人参与
# 经纬恒润求职进展汇总 #
121662次浏览 1032人参与
# 提前批过来人的忠告 #
113858次浏览 1194人参与
# 说说你知道的学历厂 #
58369次浏览 351人参与
# 秋招最大的收获是什么? #
36868次浏览 311人参与
# 找工作时的取与舍 #
80011次浏览 566人参与
# 你认为小厂实习有用吗? #
29307次浏览 341人参与
# 哪一瞬间觉得自己长大了 #
13901次浏览 327人参与