/*
   思路:多源点,多会点的最短路径!
   将最小号-1的节点但最源点,将最大号+1的点当作汇点!
   将问题转变成从一个源点到一个汇点的最短路径的问题!    开始忘记初始化vector了,哇了好多次....坑爹啊
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#define M 1100
#define INF 0x3f3f3f3f
using namespace std; struct node{
int v;
int tt;
node(){} node(int v, int tt){
this->v=v;
this->tt=tt;
}
}; vector<node>v[M];
int d[M], vis[M];
int city[M];
int n;
int T, S, D; void Dijkstra(){
memset(d, 0x3f, sizeof(d));
memset(vis, , sizeof(vis));
d[]=;
vis[]=;
int root=;
for(int j=; j<=n; ++j){
int minLen=INF, p, len=v[root].size();
for(int i=; i<len; ++i){
int u=v[root][i].v;
if(!vis[u] && d[u] > d[root] + v[root][i].tt)
d[u] = d[root] + v[root][i].tt;
}//将所有的与root节点连接的节点的距离进行更新 for(int i=; i<=n+; ++i)//然后从0节点到所有的节点的最短的距离!
if(!vis[i] && minLen>d[i]){
p=i;
minLen=d[i];
}
if(minLen==INF)
return;
root=p;
vis[root]=;
}
} int main(){
while(cin>>S>>T>>D){
int a, b, t;
n=-;
while(S--){
cin>>a>>b>>t;
v[a].push_back(node(b, t));
v[b].push_back(node(a, t));
n=max(n, max(a,b));
}
while(T--){
cin>>a;
v[].push_back(node(a, ));
v[a].push_back(node(, ));
n=max(n,a);
}
for(int i=; i<=D; ++i){
cin>>city[i];
n=max(n, city[i]);
}
for(int i=; i<=D; ++i){
v[n+].push_back(node(city[i],INF));
v[city[i]].push_back(node(n+,));
}
Dijkstra();
for(int i=; i<=n+; ++i)
v[i].clear();
cout<<d[n+]<<endl;
}
return ;
}

hdu2066一个人的旅行(多源点多汇点的最短路径问题)的更多相关文章

  1. HDU2066一个人的旅行---(多起点多终点最短路径)

    http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memo ...

  2. hdu2066 一个人的旅行 最短路

    单源最短路裸题 #include<stdio.h> #include<string.h> #define min(a,b) (a)<(b)?a:b #define INF ...

  3. hdoj 3572 Task Schedule【建立超级源点超级汇点】

    Task Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  4. HDU6166-Senior Pan-Dijkstra迪杰斯特拉算法(添加超源点,超汇点)+二进制划分集合-2017多校Team09

    学长好久之前讲的,本来好久好久之前就要写题解的,一直都没写,懒死_(:з」∠)_ Senior Pan Time Limit: 12000/6000 MS (Java/Others)    Memor ...

  5. POJ1459:Power Network(多源点多汇点的最大流)

    Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 31086   Accepted: 15986 题 ...

  6. hdu2066一个人的旅行

    枚举全部相邻城市,作为起点,多次spfa,然后每次在想去的城市中找出spfa后的距离起点最短的花费时间 #include <iostream> #include <cstring&g ...

  7. hdu2066一个人的旅行(dijkstra)

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

  8. HDU2066一个人的旅行/最短路问题

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  9. HDU2066 一个人的旅行 最短路基础

    新手熟悉一下迪杰斯特拉... 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

随机推荐

  1. [Leetcode][JAVA] Distinct Subsequences

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  2. 自学日记--JavaScript 001

    1.1输出内容: document.write(); 1.2警告语句: alert(); 1.3确认语句: comfirm(str); 返回值:boolean  确认返回true  取消返回false ...

  3. 解决 504 Gateway Time-out和502 Bad Gateway(nginx)

    504 Gateway Time-out 问题所在: 所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI. 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓 ...

  4. XHEditor(MVC4+DWZ) 部分问题的解决

    百度上下载了xheditor1.2.1 一.使用方法: 1.把解压的目录copy到VS中; 2.在需要用的View页面中引用js <script src="~/xheditor/xhe ...

  5. asp.net identity 2.2.0 中角色启用和基本使用(二)

    建立模型 第一步:在Models文件夹上点右键 >添加>类     类的名称自定,我用AdminViewModels命名的 因为是讲基本使用,我这里不做任何扩展. 第二步:添加如下命名空间 ...

  6. dojo Provider(script、xhr、iframe)源码解析

    总体结构 dojo/request/script.dojo/request/xhr.dojo/request/iframe这三者是dojo提供的provider.dojo将内部的所有provider构 ...

  7. [.net 面向对象编程基础] (5) 基础中的基础——变量和常量

    [.net面向对象编程基础]  (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...

  8. 推荐windows下的日志跟踪工具:SnakeTail

    用过Linux的同学都知道,在Linux中要实时跟踪日志文件那是非常的方便,Tail.Less都可以做到. 开启动态跟踪后,程序会监视文件修改,从而不断刷新出最新的内容,对于线上运维特别有用.   今 ...

  9. [ZigBee] 3、ZigBee基础实验——GPIO输出控制实验-控制Led亮灭

    1.CC2530的IO口概述 CC2530芯片有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC.定时器或USART外设.这些I/O 口的用途可以通过一系列 ...

  10. Ubuntu环境搭建系列—Chrome/JDK/Android篇

    其实每次重装Ubuntu系统的时候都要进行一次基本到环境配置,而且每次总会忘记一些环境配置到东西,所以就写下这个博文,方便自己以后重装系统的时候回顾,同时也给大家做为重装系统后基本环境搭建的参考. 因 ...