#include<string.h> //和prim类似
#include<stdio.h> //prim所考虑的是节点与当前所建成的树的距离最小
using namespace std; //单源最短路径考虑的是节点与出发点距离最小
int vis[1005][1005];
bool boo[1005];
const int maxa=1000000;
struct que{int x,y,len;}
q[1005];
int main()
{
int leng[1005];
int t,s,d,a,b,time;
while(~scanf("%d%d%d",&t,&s,&d)){
memset(boo,0,sizeof(boo));
int MAX=0;
for(int i=0;i<1005;i++){
for(int k=0;k<1005;k++)
vis[i][k]=maxa;
}
for(int i=0;i<t;i++){
scanf("%d%d%d",&a,&b,&time);
if(a>MAX)
MAX=a;
if(b>MAX)
MAX=b;
if(vis[a][b]>time){
vis[a][b]=time;
vis[b][a]=time;
}
}
for(int i=0;i<=1005;i++){
leng[i]=maxa;
}
for(int i=0;i<s;i++){
scanf("%d",&a);
leng[a]=0;
}
for(int i=0;i<=MAX;i++){
int ii,mina=maxa;
for(int k=0;k<=MAX;k++){
if(boo[k]==0&&leng[k]<mina){
mina=leng[k];
ii=k;
}
}
boo[ii]=1;
for(int i=0;i<=MAX;i++){
if(leng[i]>leng[ii]+vis[ii][i])
leng[i]=leng[ii]+vis[ii][i];
}
}
int mina=maxa;
for(int i=0;i<d;i++){
scanf("%d",&a);
if(mina>leng[a])
mina=leng[a];
}
printf("%d\n",mina);
}
}

单源最短路径 hdu 2066的更多相关文章

  1. 最短路之SPFA(单源)HDU 2066

    #include "iostream" #include "cstdio" #include "queue" #include <cs ...

  2. Dijkstra 单源最短路径算法

    Dijkstra 算法是一种用于计算带权有向图中单源最短路径(SSSP:Single-Source Shortest Path)的算法,由计算机科学家 Edsger Dijkstra 于 1956 年 ...

  3. Bellman-Ford 单源最短路径算法

    Bellman-Ford 算法是一种用于计算带权有向图中单源最短路径(SSSP:Single-Source Shortest Path)的算法.该算法由 Richard Bellman 和 Leste ...

  4. 洛谷P3371 【模板】单源最短路径

    P3371 [模板]单源最短路径 282通过 1.1K提交 题目提供者HansBug 标签 难度普及/提高- 提交  讨论  题解 最新讨论 不萌也是新,老司机求带 求看,spfa跑模板40分 为什么 ...

  5. 单源最短路径算法---Dijkstra

    Dijkstra算法树解决有向图G=(V,E)上带权的单源最短路径问题,但是要求所有边的权值非负. 解题思路: V表示有向图的所有顶点集合,S表示那么一些顶点结合,从源点s到该集合中的顶点的最终最短路 ...

  6. Til the Cows Come Home(poj 2387 Dijkstra算法(单源最短路径))

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 32824   Accepted: 11098 Description Bes ...

  7. 单源最短路径——dijkstra算法

    dijkstra算法与prim算法的区别   1.先说说prim算法的思想: 众所周知,prim算法是一个最小生成树算法,它运用的是贪心原理(在这里不再证明),设置两个点集合,一个集合为要求的生成树的 ...

  8. 【转】Dijkstra算法(单源最短路径)

    原文:http://www.cnblogs.com/dolphin0520/archive/2011/08/26/2155202.html 单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路 ...

  9. 图论(四)------非负权有向图的单源最短路径问题,Dijkstra算法

    Dijkstra算法解决了有向图G=(V,E)上带权的单源最短路径问题,但要求所有边的权值非负. Dijkstra算法是贪婪算法的一个很好的例子.设置一顶点集合S,从源点s到集合中的顶点的最终最短路径 ...

随机推荐

  1. CentOS下安装vsftpd架设ftp服务器

    什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用. 首先安装vsftpd这个软件,命令是,yum install vsftpd servi ...

  2. php笔试题1

    PHP 基础知识部分 1. 求$a的值 复制代码 代码如下: $a = "hello"; $b = &$a; unset($b); $b = "world&quo ...

  3. Nginx源码研究二:NGINX的事件处理概论

    NGINX作为服务端的应用程序,在客户端发出数据后,服务端在做着这样一些处理,数据先会经过网卡,网卡会和操作系统做交互,经过操作系统的协议栈处理,再和不同的应用程序交互. 在这里面涉及两个概念,一个是 ...

  4. php 编译安装curl 时候出现问题

    /usr/bin/ld: ext/curl/.libs/interface.o: undefined reference to symbol 'CRYPTO_set_id_callback@@OPEN ...

  5. python 操作 mysql基础补充

    前言 本篇的主要内容为整理mysql的基础内容,分享的同时方便日后查阅,同时结合python的学习整理python操作mysql的方法以及python的ORM. 一.数据库初探 在开始mysql之前先 ...

  6. Android百度地图默认位置中心点设置

    //初始化地图    MapView mMapView = (MapView) findViewById(R.id.map); BaiduMap mBaidumap = mMapView.getMap ...

  7. ural 1613 For Fans of Statistics

    #include <cstdio> #include <cstring> #include <map> #include <vector> #inclu ...

  8. USENIX 最佳论文奖:擦除 Windows Azure 存储编码

     我们发表了一篇介绍Windows Azure 存储如何用编码方式擦除数据的论文,此论文在 2012 年 6 月的 USENIX 技术年会上荣获最佳论文奖.这是 MicrosoftResearch ...

  9. 2015第29周五AOP

    AOP使用场景 AOP用来封装横切关注点,具体可以在下面的场景中使用: Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling ...

  10. cf500B New Year Permutation

    B. New Year Permutation time limit per test 2 seconds memory limit per test 256 megabytes input stan ...