#include <cstdio>
#include <iostream>
#include <cstring>
#include <queue>
#define N 100007
#define Q 100000000007
using namespace std;
int n, m, k, s, t, spe[15], tot, ls[N], cnt;
long long ans, dis[N], d[15][15];
bool b[N], v[40];
queue<int> q; struct edge{
int to, next, w;
}e[N]; inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-'){
w=-1;
}
ch=getchar();
}
while(ch>='0'&&ch<='9'){
s=s*10+ch-'0';
ch=getchar();
}
return s*w;
} void add(int x,int y,int z){
e[++tot].to=y;
e[tot].w=z;
e[tot].next=ls[x];
ls[x]=tot;
} void spfa(int x){
memset(b,0,sizeof(b));
for(int i=1;i<=n;i++){
dis[i]=Q;
}
dis[x]=0;
q.push(x);
while (!q.empty()){
int now=q.front();
q.pop();
for(int i=ls[now];i;i=e[i].next){
if(dis[now]+e[i].w<dis[e[i].to]){
dis[e[i].to]=dis[now]+e[i].w;
if(!b[e[i].to]){
q.push(e[i].to);
b[e[i].to]=1;
}
}
}
b[now]=0;
}
cnt++;
for(int i=1;i<=k+1;i++){
if(cnt!=i){
d[cnt][i]=dis[spe[i]];
}
}
d[cnt][k+2]=dis[t];
} void dfs(int dep, long long sum, int dc){
if(sum+d[dc][k+2]>ans){
return;
}
if(dep>=k+1){
if(sum+d[dc][k+2]<ans){
ans=sum+d[dc][k+2];
}
return;
}
for(int i=2;i<=k+1;i++){
if(!v[i]){
v[i]=1;
dfs(dep+1,sum+d[dc][i],i);
v[i]=0;
}
}
} int main(){
n=read();
m=read();
k=read();
s=read();
t=read();
for(int i=1;i<=m;i++){
int x, y, z;
x=read();
y=read();
z=read();
add(x,y,z);
}
for(int i=2;i<=k+1;i++){
spe[i]=read();
}
spe[1]=s;
for(int i=1;i<=k+1;i++){
spfa(spe[i]);
}
ans=Q;
dfs(1,0,s);
if (ans<Q){
printf("%lld",ans);
}
else{
printf("-1");
}
}

  

UOJ#494K点最短路的更多相关文章

  1. BZOJ4456/UOJ#184[Zjoi2016]旅行者 分治 最短路

    原文链接http://www.cnblogs.com/zhouzhendong/p/8682133.html 题目传送门 - BZOJ4456 题目传送门 - UOJ#184 题意 $n\times ...

  2. 最短路 || UOJ 19 寻找道路

    UOJ j19 寻找道路 在有向图G中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的最短路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. * ...

  3. UOJ #277 BZOJ 4739 定向越野 (计算几何、最短路)

    手动博客搬家: 本文发表于20181208 14:39:01, 原地址https://blog.csdn.net/suncongbo/article/details/84891710 哇它居然显示出图 ...

  4. 【UOJ#32】【UR #2】跳蚤公路(最短路)

    [UOJ#32][UR #2]跳蚤公路(最短路) 题面 UOJ 题解 不难发现要求的就是是否存在负环.也就是我们只需要找到所有的负的简单环,很容易就可以想到维护路径上和\(x\)相关的内容,即维护一下 ...

  5. 【UOJ #244】【UER #7】短路

    http://uoj.ac/contest/35/problem/244 对其他人来说好简单的一道题,我当时却不会做TWT 注定滚粗啊 题解很好的~ #include<cstdio> #i ...

  6. uoj#244. 【UER #7】短路

    题目 orz myy 这个矩形对称的性质非常优美,所以我们只需要考虑一个\(\frac{1}{4}\)的矩阵,即一个倒三角形 现在我们要求的是从\((1,1)\)到三角形对边上每个点的最短路,不难发现 ...

  7. UOJ#53. 【UR #4】追击圣诞老人 树链剖分 k短路

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ53.html 题意 给定一棵有 n 个节点的树. 每一个点有一个权值. 对于每一个 $i$ 给定三个参数 ...

  8. 【uoj#244】[UER #7]短路 CDQ分治+斜率优化dp

    题目描述 给出 $(2n+1)\times (2n+1)$ 个点,点 $(i,j)$ 的权值为 $a[max(|i-n-1|,|j-n-1|)]$ ,找一条从 $(1,1)$ 走到 $(2n+1,2n ...

  9. 【BZOJ 4456】【UOJ #184】【ZJOI 2016】旅行者

    http://www.lydsy.com/JudgeOnline/problem.php?id=4456 http://uoj.ac/problem/184 参考(抄)的晨爷的题解(代码) 对矩形进行 ...

随机推荐

  1. Web前端开发——概述

    前端技术构成: 结构:html,从语义的角度,描述页面结构 样式:css,从审美的角度,美化界面样式 行为:JavaScript,从交互的角度,提升用户体验 前端技术标准: 前端技术的标准就是由W3C ...

  2. freemarker 生成word

    一.生成模板,动态获取的部分用${变量名},然后将word另存为xml文件,再将后缀名改成ftl格式.然后将模板放在对应的目录下. 二.引入freemarker包,mawen引用 <depend ...

  3. Prism框架的Module(模块化)编程

    Prism框架用的是新版本的,Prism7.1.关于其中的变动,感兴趣的参考https://www.cnblogs.com/hicolin/p/8694892.html 如何告诉Shell(我们的宿主 ...

  4. JVM(六),java内存模型

    六.java内存模型 1.线程独占部分 (1)程序计数器 (2)Java虚拟机栈 (3)本地方法栈 (4)递归为什么会引发java.lang.StackOverFlowError异常吗 2.线程共享部 ...

  5. Comet OJ - Contest #10 鱼跃龙门 exgcd+推导

    考试的时候推出来了,但是忘了 $exgcd$ 咋求,成功爆蛋~ 这里给出一个求最小正整数解的模板: ll solve(ll A,ll B,ll C) { ll x,y,g,b,ans; gcd = e ...

  6. 2019牛客暑期多校训练营(第二场)E 线段树维护dp转移矩阵

    题意 给一个\(n\times m\)的01矩阵,1代表有墙,否则没有,每一步可以从\(b[i][j]\)走到\(b[i+1][j]\),\(b[i][j-1]\),\(b[i][j+1]\),有两种 ...

  7. mysql gis基本使用

    # 插入空间数据 INSERT INTO `t_pot` VALUES ('1', '北京', POINT(116.401394,39.916042)); INSERT INTO `t_pot` VA ...

  8. 关于hive on spark会话的共享状态

    spark sql中有一个类: org.apache.spark.sql.internal.SharedState 它是用来做: 1.元数据地址管理(warehousePath) 2.查询结果缓存管理 ...

  9. easyui datagrid的API

    本文可以当做api来使用 动态编辑用到DOM解析的话参考 http://www.w3school.com.cn/xmldom/dom_htmlcollection.asp 使用方法(Usage Exa ...

  10. 移动端隐藏scroll滚动条::-webkit-scrollbar

    ::-webkit-scrollbar {/*隐藏滚轮*/ display: none; } CSS3自定义滚动条样式 -webkit-scrollbar 前言 webkit支持拥有overflow属 ...