//// main.cpp// 图论//// Created by liuzhe on 16/8/15.// Copyright © 2016年 my_code. All rights reserved.//#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>#include<utility>#include<queue>using namespace std;const int N=105;const int INF=2147483646;int n, m, d[N][N];inline void read_graph(){ for(int i=1; i<=n; ++i){ d[i][i] = INF; for(int j=i+1; j<=n; ++j) d[i][j]=d[j][i]=INF; } int a,b,c; for(int e=1; e<=m; ++e){ scanf("%d%d%d",&a,&b,&c); d[a][b]=d[b][a]=c; }}inline void Floyd(int src){ for(int k=1; k<=n; ++k){ for(int i=1; i<=n; ++i){ for(int j=1; j<=n; ++j) if(d[i][k]<INF && d[k][j]<INF){ //防止溢出 d[i][j] = min(d[i][j], d[i][k]+d[k][j]); } } }}int main(){ int a,b,c; while(~scanf("%d%d",&n,&m)&&n+m){ read_graph(); Floyd(1); PRintf("%d/n", d[1][n]); } return 0;}
新闻热点
疑难解答