AT_abc073_d.[ABC073D] joisino's travel

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Atcoder 国有 NN 个城镇,通过 MM 条双向道路相连。

第 ii 条道路连接城镇 AiA_i 和城镇 BiB_i,距离为 CiC_i。

joisino 姐姐计划访问该国的 RR 个城镇 r1,r2,…,rRr_1, r_2, \ldots, r_R。

前往第一个要访问的城镇以及离开最后一个访问的城镇时可以乘坐飞机,但在访问这些城镇的过程中,必须使用道路进行移动。

请你计算,在合理安排访问这些城镇的顺序,使得通过道路移动的总距离最小的情况下,这个最小的移动距离是多少。

输入格式

输入通过标准输入按以下格式给出。

NN MM RR
r1r_1 r2r_2 …\ldots rRr_R
A1A_1 B1B_1 C1C_1
⋮\vdots
AMA_M BMB_M CMC_M

输出格式

请输出合理安排访问顺序后,通过道路移动的最小总距离。

输入输出样例

  • 输入#1

    3 3 3
    1 2 3
    1 2 1
    2 3 1
    3 1 4

    输出#1

    2
  • 输入#2

    3 3 2
    1 3
    2 3 2
    1 3 6
    1 2 2

    输出#2

    4
  • 输入#3

    4 6 3
    2 3 4
    1 2 4
    2 3 3
    4 3 1
    1 4 1
    4 2 2
    3 1 6

    输出#3

    3

说明/提示

限制条件

  • 2≤N≤2002 \leq N \leq 200
  • 1≤M≤N×(N−1)/21 \leq M \leq N \times (N-1)/2
  • 2≤R≤min⁡(8,N)2 \leq R \leq \min(8, N)(min⁡(8,N)\min(8, N) 表示 88 和 NN 中较小的那个)
  • ri≠rj (i≠j)r_i \neq r_j\ (i \neq j)
  • 1≤Ai,Bi≤N, Ai≠Bi1 \leq A_i, B_i \leq N,\ A_i \neq B_i
  • (Ai,Bi)≠(Aj,Bj), (Ai,Bi)≠(Bj,Aj) (i≠j)(A_i, B_i) \neq (A_j, B_j),\ (A_i, B_i) \neq (B_j, A_j)\ (i \neq j)
  • 1≤Ci≤1000001 \leq C_i \leq 100000
  • 任意两个城镇之间都可以仅通过道路互相到达。
  • 所有输入均为整数。

样例解释 1

例如,按照城镇 11、城镇 22、城镇 33 的顺序访问时,总移动距离为 22,这是最小值。

样例解释 2

无论是先访问城镇 11 再访问城镇 33,还是先访问城镇 33 再访问城镇 11,城镇 11 和城镇 33 之间的最短距离都是 44,因此无论选择哪种顺序,答案都是 44。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页