hdu 2544 最短路<java>

来源:互联网 发布:苹果原装充电器数据 编辑:程序博客网 时间:2024/06/07 20:42

http://acm.hdu.edu.cn/showproblem.php?pid=2544

题目算法备注求村庄1到n的最短路,给出各个村庄之间的距离弗洛伊德算法(没超时)村庄距离 初始化最大值   

import java.util.Scanner;  public class Main {  public static void main(String[] args) { int m,n,i,j,k,a,b,c; Scanner oo=new Scanner(System.in); while(oo.hasNext()){ n=oo.nextInt(); m=oo.nextInt(); if(n==0&&m==0){break;} int d[][]=new int[n+1][n+1]; for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ d[i][j]=100000; } } for(i=0;i<m;i++){ a=oo.nextInt(); b=oo.nextInt(); c=oo.nextInt(); if(c<d[a][b]){ d[a][b]=c; d[b][a]=c; } } for(k=1;k<=n;k++){ for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ if(d[i][j]>d[i][k]+d[k][j]){ d[i][j]=d[i][k]+d[k][j]; } } } } System.out.println(d[1][n]);  }  }  }