关注
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
相关推荐
07-09 18:28
门头沟学院 Java 点赞 评论 收藏
分享
07-09 15:55
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
45152次浏览 353人参与
# 夸夸我的求职搭子 #
199741次浏览 1916人参与
# 你认为小厂实习有用吗? #
16411次浏览 205人参与
# 说说你知道的学历厂 #
31509次浏览 186人参与
# 应届生,你找到工作了吗 #
19151次浏览 143人参与
# 三一重工求职进展汇总 #
12959次浏览 60人参与
# 计算机有哪些岗位值得去? #
14583次浏览 140人参与
# 下班后的时间你怎么安排 #
8657次浏览 128人参与
# 你找工作的时候用AI吗? #
16050次浏览 203人参与
# 面试尴尬现场 #
27128次浏览 181人参与
# 材料人,你们签了哪个公司 #
7119次浏览 17人参与
# 哪一瞬间觉得自己长大了 #
7948次浏览 180人参与
# 在职场上,你最讨厌什么样的同事 #
14863次浏览 151人参与
# 社会教会你的第一课 #
31708次浏览 419人参与
# 中核求职进展汇总 #
20459次浏览 152人参与
# 电网笔面经互助 #
36437次浏览 354人参与
# 简历当中有水分算不算造假? #
25509次浏览 377人参与
# 神州信息工作体验 #
16357次浏览 75人参与
# 硬件应届生薪资是否普遍偏低? #
75006次浏览 517人参与
# 学历贬值真的很严重吗? #
22159次浏览 162人参与