关注
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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
148650次浏览 2528人参与
# 秋招落幕,你是He or Be #
3385次浏览 76人参与
# 应届生进小公司有什么影响吗 #
109159次浏览 1116人参与
# 比亚迪工作体验 #
70279次浏览 254人参与
# 你面试体验感最差/最好的公司 #
3281次浏览 56人参与
# 工作中听到最受打击的一句话 #
2683次浏览 61人参与
# 大厂VS公务员你怎么选 #
71426次浏览 660人参与
# 重来一次,你会对开始求职的自己说 #
3129次浏览 71人参与
# 一人说一个提前实习的好处 #
3611次浏览 74人参与
# 团建是“福利”还是是 “渡劫” #
4158次浏览 111人参与
# 实习没事做是福还是祸? #
8543次浏览 135人参与
# 如何排解工作中的焦虑 #
244091次浏览 2241人参与
# 从顶到拉给所有面过的公司评分 #
144839次浏览 518人参与
# 今年你最想重开的一场面试是? #
1498次浏览 25人参与
# 你小心翼翼的闯过多大的祸? #
7109次浏览 109人参与
# 联影求职进展汇总 #
123877次浏览 781人参与
# OPPO求职进展汇总 #
755975次浏览 5390人参与
# 互联网公司爆料 #
158630次浏览 724人参与
# 产品实习,你更倾向大公司or小公司 #
189152次浏览 2053人参与
# 秋招结束之后的日子 #
113935次浏览 1039人参与

