hdu 1874 畅通工程续
2013-08-11 20:24
267 查看
畅通工程续
#include<iostream> #include<string.h> using namespace std; #define MAX 99999 int map[1007][1007]; int dist[1007]; int vis[1007]; int n,m,i,j; int dijkstra(int x,int y) { memset(vis,0,sizeof(vis)); for(i=0;i<n;i++) dist[i]=map[x][i]; dist[x]=0; vis[x]=1; for(i=0;i<n;i++) { int min=MAX; int u; for(j=0;j<n;j++) { if(!vis[j]&&dist[j]<min) { min=dist[j]; u=j; } } vis[u]=1; for(j=0;j<n;j++) { if(!vis[j]&&dist[j]>min+map[u][j]) dist[j]=min+map[u][j]; } } return dist[y]; } int main() { while(cin>>n>>m) { for(i=0;i<n;i++) for(j=0;j<n;j++) { map[i][j]=map[j][i]=MAX; dist[i]=MAX; } while(m--) { int a,b,dis; cin>>a>>b>>dis; if(dis<map[a][b]) map[a][b]=map[b][a]=dis; } int beg,end; cin>>beg>>end; int ans=dijkstra(beg,end); if(ans==99999) cout<<"-1"<<endl; else cout<<ans<<endl; } return 0; }
相关文章推荐
- Hdu1874 畅通工程续
- HDU 1874 畅通工程续(Floyd)
- HDU 1874 畅通工程续
- HDU 1874 畅通工程续 (dijkstra模板)
- HDU--1874 -- 畅通工程续 [Dijkstra]
- HDU 1874 畅通工程续
- HDU,1874,畅通工程续
- hdu 1874 畅通工程续(Floyd算法)
- HDU 1874 畅通工程续
- HDU 1874 畅通工程(dijkstra)
- hdu 1874 畅通工程续(Floyd)
- 杭电 hdu 1874 畅通工程续
- hdu 1874 畅通工程续 (Floyd算法)
- hdu 1874 畅通工程续 (Dijkstra + 优先队列优化)
- HDU1874 畅通工程续 解题报告--Dijkstra
- 所有的畅通工程[HDU1232][HDU1874][HDU1875][HDU1879]
- HDU 1874--畅通工程续【最短路 && floyd && 水题】
- HDU 1874 畅通工程续
- hdu 1874 畅通工程续
- HDU 1874 畅通工程续