#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");
}
}

  

最新文章

  1. java代理类及AOP
  2. 160个crackme-之Acid burn.exe
  3. sql语句-ALTER TABLE
  4. 轻取帝国CMS管理员密码
  5. LoadRunner之安装、破解、汉化教程(一)
  6. c语言 四种方法调用数组
  7. C# 使用代码来操作 IIS
  8. 【转】android颜色对应的xml配置值
  9. Delphi图像处理控件
  10. 面试之路(7)-BAT面试题之计算机的三大原则
  11. 如何清除浮动(float)所带来的影响
  12. Oracle中事务处理控制用法
  13. golang 闭包求斐波那契数列
  14. Intellij dea 注释行如何自动缩进?
  15. 打jar包
  16. AvalonEdit验证语法并提示错误
  17. 原创:微信小程序+WEB使用JS实现注册【60s】倒计时功能
  18. 如何在linux下安装jdk并运行java程序
  19. C++的explicit关键字
  20. perf 函数调用性能(函数流程图)

热门文章

  1. sysbench0.4.12测试query_cache_size和query_cache_type
  2. 喜大普奔!.NET界面控件DevExpress v19.2发布,快来下载体验
  3. 天刀默认src截图保存文件夹位置在哪里?
  4. vue实例之组件开发:图片轮播组件
  5. ansible变量定义
  6. 【Python之路】特别篇--Python反射
  7. yum update 更新失败
  8. 库&amp;插件&amp;框架&amp;工具
  9. centos6.5和centos7如何搭建php环境(包括php7)
  10. TCP之服务与首部