HDU 2544 最短路(最短路 Floyd)
阿新 • • 發佈:2019-01-25
題目:http://acm.hdu.edu.cn/showproblem.php?pid=2544
程式碼:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #define MAX 0x3f3f3f3f int maps[105][105]; int main() { int n,m; while(scanf("%d%d",&n,&m)) { if(n==0&&m==0) break; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i==j) maps[i][j]=0; else maps[i][j]=999999; } } int x,y,t; for(int i=0;i<m;i++) { scanf("%d%d%d",&x,&y,&t); maps[x][y]=t; maps[y][x]=t; } //int ans=0; for(int k=1;k<=n;++k) { for(int i=1;i<=n;++i) { for(int j=1;j<=n;++j) { maps[i][j]=min(maps[i][j],maps[i][k]+maps[k][j]); } } } printf("%d\n",maps[1][n]); } }