题目链接

在实训的间隙刷个题。。。裸地杰斯特拉。

 1 #include <stdio.h>
 2 #include <string.h>
 3 #define N 10000000
 4 int p[1001][1001];
 5 int main()
 6 {
 7     int i,j,k,t,s,d,sv,ev,w,min,num,min2,max;
 8     int a[1001],o[1001],key[1001];
 9     int low[1001];
10     while(scanf("%d%d%d",&t,&s,&d)!=EOF)
11     {
12         memset(key,0,sizeof(key));
13         memset(low,0,sizeof(low));
14         memset(o,0,sizeof(o));
15         for(i = 1;i <= 1000;i ++)
16         {
17             for(j = 1;j <= 1000;j ++)
18                 p[i][j] = N;
19             p[i][i] = 0;
20         }
21         max = 0;
22         for(i = 1;i <= t;i ++)
23         {
24             scanf("%d%d%d",&sv,&ev,&w);
25             if(p[sv][ev] > w)
26             {
27                 p[sv][ev] = w;
28                 p[ev][sv] = w;
29             }
30             if(max < sv)
31                 max = sv;
32             if(max < ev)
33                 max = ev;
34         }
35         for(i = 1;i <= s;i ++)
36             scanf("%d",&a[i]);
37         for(i = 1;i <= d;i ++)
38         {
39             scanf("%d",&j);
40             key[j] = 1;
41         }
42         min2 = N;
43         for(k = 1;k <= s;k ++)
44         {
45             memset(o,0,sizeof(o));
46             for(i = 1;i <= max;i++)
47                 low[i] = p[a[k]][i];
48             o[a[k]] = 1;
49             for(i = 1;;i ++)
50             {
51                 min = N;
52                 for(j = 1;j <= max;j ++)
53                 {
54                     if(min > low[j]&&!o[j])
55                     {
56                         min = low[j];
57                         num = j;
58                     }
59                 }
60                 o[num] = 1;
61                 if(min == N)break;
62                 for(j = 1;j <= max;j ++)
63                 {
64                     if(low[j] > min +p[num][j]&&!o[j])
65                         low[j] = min + p[num][j];
66                 }
67             }
68             for(j = 1;j <= max;j ++)
69             {
70                 if(key[j])
71                 {
72                     if(min2 > low[j])
73                         min2 = low[j];
74                 }
75             }
76         }
77         printf("%d\n",min2);
78     }
79     return 0;
80 }

转载于:https://www.cnblogs.com/naix-x/archive/2012/07/02/2573605.html

HDU 2066 一个人的旅行(地杰斯特拉)相关推荐

  1. hdu 2066 一个人的旅行 (多源最短路 )

    Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...

  2. 【ICPC-292】hdu 2066 一个人的旅行

    点击打开链接hdu 2066 思路:最短路+Dijkstra 分析:题目给定的起点有s个,终点有d个.要求找到从起点到这些终点最短的路径.很显然只要枚举起点然后比较最后得到最小的值. 代码: #inc ...

  3. HDOJ 2066 HDU 2066 一个人的旅行 ACM 2066 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址:          http://acm.hdu.edu.cn/showproblem.php?pid=2066 ...

  4. hdu 2066 一个人的旅行(最短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里 ...

  5. HDU 2066 一个人的旅行

    http://acm.hdu.edu.cn/showproblem.php?pid=2066 题意: 输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想 ...

  6. 题解报告:hdu 2066 一个人的旅行

    Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...

  7. HDU - 2066 一个人的旅行 (floyd/dijkstra)

    虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景--草儿 ...

  8. HDU - 2066 一个人的旅行(Dijkstra)

    虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景--草儿 ...

  9. HDU 2066 一个人的旅行(单源最短路SPFA)

    Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还 ...

最新文章

  1. python语言编程基础-Python语言入门详解!快速学成Python!
  2. 在日期格式化的时候提示错误:Tostring没有采用一个参数的重载
  3. 《面向对象分析与设计》一3.2 参与者
  4. 【设计模式】【行为型模式】模板模式
  5. linux网络编程 华清,Linux网络编程之套接字
  6. Fedora Linux中配置JDK5或JDK6环境变量
  7. Android 教你打造炫酷的ViewPagerIndicator
  8. Nginx资源合并优化模块nginx-http-concat
  9. ubuntu 设置静态路由_Linux route 配置静态路由(转载)
  10. 学习帮——提高智商、改善记忆力的120种绝佳方法!
  11. 2021-CSP-J2/S2 自我题解
  12. opencv的学习与人脸情绪识别项目(一)
  13. 申报2021国家高新技术企业认定,有哪些标准?
  14. 35 漂亮的单页网页设计
  15. Altium_Designer中英文技术词汇对照
  16. pythonsklearn做手写识别_Python scikit-learn 学习笔记—手写数字识别
  17. Android电量统计
  18. 2022年登高架设操作证考试题及在线模拟考试
  19. 【Flutter】四十一、Flutter解决沉浸式状态栏——SafeArea
  20. android隐藏系统ui_如何启用Android的“系统UI调谐器”以访问实验功能

热门文章

  1. 【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载
  2. OSChina 周六乱弹 ——世上无难事,只要肯放弃!
  3. ioctl 函数 参数 详解
  4. python 面试题(3)--- 进制转换
  5. Vue中computed分析
  6. 您第一次上网的速度是多少?
  7. oxp开放型可变长协议_培养开放型领导者
  8. 管理者和领导者的区别_如何赢得领导者的尊重
  9. SecureDrop 0.3,LibreOffice Online和更多新闻
  10. 物联网linux_Linux的未来,Google的物联网标准等