hdu 2680 Choose the best route
来源:互联网 发布:维氏 威戈 知乎 编辑:程序博客网 时间:2024/05/22 15:49
#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>#include <time.h>using namespace std;const int inf=1024;const int N=1024;int n,m,vis[N],edge[N][N],dist[N];void Dijkstra(int v0){ int i,j,k,u,minx; for(i=1; i<=n; i++) { dist[i]=edge[v0][i]; vis[i]=0; } vis[v0]=1; dist[v0]=0; for(i=1; i<n; i++) { minx=inf,u=v0; for(j=1; j<=n; j++) { if(!vis[j]&&dist[j]<minx) { minx=dist[j]; u=j; } } vis[u]=1; for(k=1; k<=n; k++) { if(!vis[k]&&edge[u][k]<inf&&dist[u]+edge[u][k]<dist[k]) dist[k]=dist[u]+edge[u][k]; } }}int main(){ int i,j,k,u,v,w,t,ans,a,s; while(~scanf("%d%d%d",&n,&m,&s)) { memset(edge,0,sizeof(edge)); for(i=0; i<m; i++) { scanf("%d%d%d",&u,&v,&w); if(edge[v][u]==0||edge[v][u]>w) edge[v][u]=w; } for(i=1; i<=n; i++) for(j=1; j<=n; j++) { if(i==j) edge[i][j]=0; else if(edge[i][j]==0) edge[i][j]=inf; } scanf("%d",&w); ans=inf; Dijkstra(s); for(i=0; i<w; i++) { scanf("%d",&a); ans=min(ans,dist[a]); } if(ans<inf) printf("%d\n",ans); else printf("-1\n"); } return 0;}
0 0
- HDU 2680 Choose the best route
- HDU-2680 choose the best route
- Hdu-2680 Choose the best route
- hdu 2680 Choose the best route
- HDU 2680 Choose the best route
- HDU 2680-Choose the best route
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- HDU 2680 Choose the best route
- HDU 2680 Choose the best route(dijkstra)
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- hdu 2680 Choose the best route
- linux终端界面的字颜色设置
- C++sort函数的用法
- java字符串操作:如何实现字符串的反转及替换?
- python学习笔记1
- iOS自定义转场动画
- hdu 2680 Choose the best route
- 单例模式+工厂模式的c++实现
- placeholder
- 2015年6月8日_宋词学习
- [025] 微信公众帐号开发教程第1篇-引言
- 必读书单
- LightOJ - 1027 A Dangerous Maze 概率
- [026] 微信公众帐号开发教程第2篇-微信公众帐号的类型(普通和会议)
- leetcode Jump Game python答案