package com.bluecup.org;
import java.util.Arrays;
import java.util.Scanner;
public class ShortestPathFloyd {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int n = scan.nextInt(), value;
int d[][] = new int[n + 1][n + 1];
for (int i = 1; i <= n; i++)
Arrays.fill(d[i], 255);
do {
int i = scan.nextInt();
int j = scan.nextInt();
value = scan.nextInt();
if (value > 0)
d[i][j] = value;
} while (value > 0);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
for (int k = 1; k <= n; k++) {
if (i != j && i != k && j != k)
if (d[j][k] > d[j][i] + d[i][k])
d[j][k] = d[j][i] + d[i][k];
}
}
System.out.println(d[1][n]);
}
}图论算法 最短路 Floyd
最新推荐文章于 2025-08-01 14:00:25 发布
3851

被折叠的 条评论
为什么被折叠?



