设为首页 加入收藏

TOP

hdu 2680 Choose the best route
2015-11-21 00:54:22 来源: 作者: 【 】 浏览:1
Tags:hdu 2680 Choose the best route

?

本题大意:

输入n,m,s,代表标号为1--n,有m组数据,终点为s。每组数据输入两个点及权值。然后输入w,代表有w个起点,然后输入各起点。求起点到终点的最短时间。

解题思路:

本题也是最短路径问题。有多个起点,本题也是与hdu 一个人的旅行 采取相同的方法。另外选取一个点,将各起点据此点的距离记为0,并以此点最为起点。

具体请参考代码:

#include
  
   
#include
   
     #define INF 0x3f3f3f3f int map[1010][1010]; int dis[1010]; int mark[1010]; int n; void dijkstra()//dijkstra算法 { memset(mark,0,sizeof(mark)); for(int i=1;i<=n;i++) dis[i]=INF; dis[0]=0; for(int i=0;i<=n;i++) { int vir,min=INF; for(int j=0;j<=n;j++) if(!mark[j]&&dis[j]
    
     dis[vir]+map[vir][j]) dis[j]=dis[vir]+map[vir][j]; } } int main() { int m,s,w,begin; while(scanf(%d%d%d,&n,&m,&s)!=EOF) { for(int i=0;i<1010;i++) for(int j=0;j<1010;j++) map[i][j]=INF; for(int i=0;i
     
      t) map[p][q]=t; } scanf(%d,&w); for(int i=0;i
      
       

?

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POJ 1442(treap || 优先队列) 下一篇BZOJ 题目2002: [Hnoi2010]Bounce..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: