标签:
Description
Input
Output
Sample Input
5 5 1 2 20 2 3 30 3 4 20 4 5 20 1 5 100
Sample Output
90
Hint
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; const int maxn=1200; const int INF=1e9; bool vis[maxn]; int d[maxn]; int w[maxn][maxn]; int T,N; void Dijkstra(int st){ for(int i=0;i<N;i++){ int x,m=INF; for(int y=N;y>=1;y--){ if(!vis[y]&&d[y]<=m) m=d[x=y]; } vis[x]=1; for(int y=N;y>=1;y--){ d[y]=min(d[y],d[x]+w[x][y]); } } printf("%d\n",d[1]); } void init(){ for(int i=0;i<=N;i++){ d[i]=(i==N?0:INF); for(int j=0;j<=N;j++){ if(i==j) w[i][j]=0; else w[i][j]=w[j][i]=INF; } } memset(vis,0,sizeof(vis)); } int main(){ while(scanf("%d%d",&T,&N)!=EOF){ init(); for(int i=1;i<=T;i++){ int u,v,dw; scanf("%d%d%d",&u,&v,&dw); w[u][v]=w[v][u]=min(dw,w[u][v]);//去重 } Dijkstra(N); } return 0; }
POj2387——Til the Cows Come Home——————【最短路】
标签:
原文地址:http://www.cnblogs.com/chengsheng/p/4341396.html