关注
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
相关推荐
02-08 11:17
门头沟学院 Java 点赞 评论 收藏
分享
01-29 19:56
西安电子科技大学 自然语言处理 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
1756次浏览 43人参与
# 产品人专业大盘点 #
68207次浏览 323人参与
# 春招什么时候投? #
12456次浏览 207人参与
# 产品每日一题 #
85087次浏览 694人参与
# 春节前,你还在投简历吗? #
16574次浏览 190人参与
# 牛友的春节生活 #
9994次浏览 201人参与
# 备战春招/暑实,现在应该做什么? #
6794次浏览 196人参与
# 我们是不是被“优绩主义”绑架了? #
31623次浏览 480人参与
# 从夯到拉,锐评职场mentor #
6608次浏览 104人参与
# 制造业的秋招小结 #
143171次浏览 2088人参与
# 实习到现在,你最困惑的一个问题 #
5868次浏览 159人参与
# 找工作中的意难平 #
982561次浏览 6423人参与
# 春节提前走,你用什么理由请假? #
12472次浏览 285人参与
# 距离春招还有一个月,你现在是什么开局? #
8483次浏览 132人参与
# 今年秋招你收到了多少封邮件? #
38073次浏览 280人参与
# 暑期实习什么时候投? #
8646次浏览 195人参与
# 数字马力求职进展汇总 #
330823次浏览 2380人参与
# 聊聊Agent开发 #
28411次浏览 650人参与
# 我的省钱小妙招 #
38235次浏览 449人参与
# 机械制造面试记录 #
314342次浏览 3159人参与
OPPO公司福利 1202人发布