#abc208d. [abc208_d]Shortest Path Queries 2

[abc208_d]Shortest Path Queries 2

问题描述

在高桥王国中有 NN 个城市和 MM 条道路。

城市编号为 11NN,道路编号为 11MM。第 ii 条道路是一条从城市 AiA_i 到城市 BiB_i单行道,通过它需要 CiC_i 分钟。

让我们定义 f(s,t,k)f(s, t, k) 为以下查询的答案。

  • 计算从城市 ss 到城市 tt 所需的最短时间。这里,除了城市 sstt 之外,只允许通过城市 11kk。如果城市 tt 是无法到达的或者 s=ts = t,答案应为 00

计算所有三元组 s,t,ks,t,kf(s,t,k)f(s,t,k) 并输出它们的和。更正式地说,输出 $\\displaystyle \\sum_{s = 1}^N \\sum_{t = 1}^N \\sum_{k = 1}^N f(s, t, k)$。

约束条件

  • 1leqNleq4001 \\leq N \\leq 400
  • 0leqMleqN(N1)0 \\leq M \\leq N(N-1)
  • 1leqAileqN1 \\leq A_i \\leq N (1leqileqM)(1 \\leq i \\leq M)
  • 1leqBileqN1 \\leq B_i \\leq N (1leqileqM)(1 \\leq i \\leq M)
  • AineqBiA_i \\neq B_i (1leqileqM)(1 \\leq i \\leq M)
  • 1leqCileq1061 \\leq C_i \\leq 10^6 (1leqileqM)(1 \\leq i \\leq M)
  • 如果 ineqji \\neq j,则 AineqAjA_i \\neq A_j 或者 BineqBjB_i \\neq B_j
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入中给出:

NN MM A1A_1 B1B_1 C1C_1 vdots\\vdots AMA_M BMB_M CMC_M

输出

输出 $\\displaystyle \\sum_{s = 1}^N \\sum_{t = 1}^N \\sum_{k = 1}^N f(s, t, k)$。


示例输入 1

3 2
1 2 3
2 3 2

示例输出 1

25

对于 f(s,t,k)neq0f(s,t,k) \\neq 0 的三元组 s,t,ks,t,k 如下所示。

  • 对于 k=1k = 1f(1,2,1)=3,f(2,3,1)=2f(1,2,1) = 3, f(2,3,1) = 2
  • 对于 k=2k = 2f(1,2,2)=3,f(2,3,2)=2,f(1,3,2)=5f(1,2,2) = 3, f(2,3,2) = 2, f(1,3,2) = 5
  • 对于 k=3k = 3f(1,2,3)=3,f(2,3,3)=2,f(1,3,3)=5f(1,2,3) = 3, f(2,3,3) = 2, f(1,3,3) = 5

示例输入 2

3 0

示例输出 2

0

对于所有 s,t,ks,t,k,我们有 f(s,t,k)=0f(s,t,k) = 0


示例输入 3

5 20
1 2 6
1 3 10
1 4 4
1 5 1
2 1 5
2 3 9
2 4 8
2 5 6
3 1 5
3 2 1
3 4 7
3 5 9
4 1 4
4 2 6
4 3 4
4 5 8
5 1 2
5 2 5
5 3 6
5 4 5

示例输出 3

517