标签:
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