这是一道数论题

TimeLimit:2000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
Special Judge
未提交 | 登录后收藏
Problem Description

每次你们都没看出图论题在哪,所以我们直接一点。给你有一个n点m边的有向图。你需要从指定的k个点中选择出不同的两个点。使得它们之间的距离最短。输出这个最小值。

复杂度降不到n*nlog(n) 及以下的,基本就别试了。 

这题建议用邻接矩阵写,常数小很多

2019/4/09 update : 数据增强,增加了一种形状类似菊花图的数据,卡爆各类假算法

Input

输入一个T,测试数据的组数,(1 <= T <= 5), 怕被你们的各种假算法骗到分了


输入n, m。表示一张n点m边的有向图。(2<=n<=500, 1<=m<=3e4)


接下来m行,每行u, v, w表示一条边u到v权为w。(1<=u, v <= n)(1<=w<=3e4)


接下来一行一个数字k。表示选择k个数字。(2<=k<=n)


接下来k个数字表示选出的k个点的编号。数据保证合法且一定有答案


对于30%的数据 n <=100.


对于100%的数据 n <= 500.


Output

对于每组测试案例输出一个数字表示答案

SampleInput
1
5 6
2 1 8
2 4 8
2 5 3
3 2 3
4 1 7
5 4 9
3
5 3 4
SampleOutput
6
Submit
题目统计信息详细
总AC数82
通过人数38
尝试人数50
总提交量598
AC率6.35%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: