关注
import java.util.ArrayList;import java.util.LinkedList;import java.util.Scanner; public class Main { public static void main(String[] args) { new Main().solve(); } private void solve() {
Scanner scanner = new Scanner(System.in);
int n = 6;
int adj[][] = new int[n][n];
for (int i = 0; i < n; i++) {
String[] strings= scanner.nextLine().split(" ");
for (int j = 0; j < n; j++) {
adj[i][j] =Integer.valueOf(strings[j]);
}
}
Graph graph = new Graph(adj);
graph.bfs(0);
}
static class Graph {
int[][] adj;
int nVerts;
boolean[] visited;
private Graph(int[][] adj) {
this.adj = adj;
this.nVerts = adj.length;
this.visited = new boolean[nVerts];
}
private void bfs(int start) {
int[] dis=new int[nVerts];
for (int i = 0; i < nVerts; i++) {
dis[i]=Integer.MAX_VALUE;
}
visited[start] = true;
LinkedList<Integer> queue = new LinkedList<>();
queue.add(start);
dis[start]=0;
while (!queue.isEmpty()) {
int v = queue.remove();
ArrayList<Integer> vs;
vs =getNextVertex(v);
for (Integer v1:vs){
int distance=adj[v][v1];
if (distance+dis[v]<dis[v1])
dis[v1]=distance+dis[v];
if (!visited[v1]) {
queue.add(v1);
visited[v1] = true;
}
}
}
for (int i = 0; i <nVerts; i++) {
if (i!=0){
System.out.println(dis[i]);
}
}
}
private ArrayList<Integer> getNextVertex(int v) {
ArrayList<Integer> adjVs = new ArrayList<>();
for (int i = 0; i < adj.length; i++) {
if (i!=v&&adj[v][i] != -1)
adjVs.add(i);
}
return adjVs;
}
}}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 第一次找实习,我建议__ #
20123次浏览 272人参与
# 韶音科技求职进展汇总 #
59946次浏览 505人参与
# 从mentor身上学到了__ #
17577次浏览 280人参与
# 你怎么评价今年的春招? #
141812次浏览 1386人参与
# 什么样的公司千万别去 #
15865次浏览 114人参与
# 外出实习被同学举报 #
3511次浏览 31人参与
# 你投递的公司有几家约面了? #
149352次浏览 982人参与
# 秋招暂停,我将对以下公司做出处罚__ #
28959次浏览 134人参与
# 秋招结束之后的日子 #
105720次浏览 1017人参与
# 你听到的“最没用”的秋招建议 #
20199次浏览 230人参与
# 如果今天是你的last day,你会怎么度过? #
47587次浏览 298人参与
# 秋招我要惩罚这些公司 #
2683次浏览 22人参与
# 你认为工作的意义是什么 #
202550次浏览 1285人参与
# 打工人的至爽时刻or至暗时刻 #
41625次浏览 221人参与
# 2025秋招体验点评 #
46474次浏览 475人参与
# 工作以后,你父母对你啥态度 #
9038次浏览 95人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
4001次浏览 18人参与
# 在国企工作的人,躺平了吗? #
375142次浏览 3930人参与
# 面试被问期望薪资时该如何回答 #
311142次浏览 1787人参与
# 实习生的蛐蛐区 #
835492次浏览 4099人参与
查看14道真题和解析