poj2387 Dijkstra模板程序

来源:互联网 发布:windows update官网 编辑:程序博客网 时间:2024/06/05 05:36
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;const int maxn=2000+10,inf=10000000;int a[maxn][maxn],d[maxn],p[maxn];int main(){int i,j,k,m,n;cin>>m>>n;for(i=1;i<=m;i++){int x,y,z;cin>>x>>y>>z;if(!a[x][y]){a[x][y]=z;a[y][x]=z;}else{a[x][y]=a[x][y]<z?a[x][y]:z;a[y][x]=a[x][y];}}for(i=1;i<=n;i++)d[i]=inf;d[1]=0;for(i=1;i<=n;i++){int minn=inf;for(j=1;j<=n;j++)if(!p[j] && d[j]<minn){minn=d[j];k=j;}p[k]=1;for(j=1;j<=n;j++)if(!p[j] && a[k][j] && d[j]>d[k]+a[k][j])d[j]=d[k]+a[k][j];}cout<<d[n]<<endl;return 0;}

0 0
原创粉丝点击