窝觉得Floyd好简单,dikstra跟Floyd一样都是n3,还是觉得Floyd写起来简单
hdu
2544
代码:
#include "bits/stdc++.h"
#define inf 0x3f3f3f3f
int dis[110][110];
int main(){
int i,j,k,t;
int n,m;
int a,b,c;
while(scanf("%d%d",&n,&m)!=EOF){
if(m==0&&n==0)
break;
memset(dis,inf,sizeof(dis));
for(i=1;i<=m;i++){
scanf("%d%d%d",&a,&b,&c);
dis[a][b]=dis[b][a]=c;
}
for(k=1;k<=n;k++){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(dis[i][j]>dis[i][k]+dis[k][j])
dis[i][j]=dis[i][k]+dis[k][j]; //核心代码
}
}
}
printf("%d
",dis[1][n]);
}
return 0;
}