D - 最短路径查询 2
给定Takahashi王国中的N个城市和M条道路。
城市编号从1到N,道路编号从1到M。第i条道路是从城市Ai到城市Bi的单向道路,通过道路需要Ci分钟。
我们定义f(s,t,k)为以下查询的答案:
计算从城市s到城市t所需的最短时间。在s和t之外,只允许通过城市1到k。如果城市t无法到达或s=t,返回答案为0。
计算f(s,t,k)的所有三元组s,t,k的和。更具体地说,输出$\displaystyle \sum_{s = 1}^N \sum_{t = 1}^N \sum_{k = 1}^N f(s, t, k)$。
约束条件
- 1≤N≤400
- 0≤M≤N(N−1)
- 1≤Ai≤N (1≤i≤M)
- 1≤Bi≤N (1≤i≤M)
- Ai=Bi (1≤i≤M)
- 1≤Ci≤106 (1≤i≤M)
- Ai=Aj或Bi=Bj,如果i=j。
- 输入中的所有值都为整数。
输入
从标准输入读入数据,数据格式如下:
N M
A1 B1 C1
...
AM BM CM
输出
输出$\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)=0的三元组s,t,k如下:
- 对于k=1:f(1,2,1)=3,f(2,3,1)=2。
- 对于k=2:f(1,2,2)=3,f(2,3,2)=2,f(1,3,2)=5。
- 对于k=3:f(1,2,3)=3,f(2,3,3)=2,f(1,3,3)=5。
样例输入2
3 0
样例输出2
0
对于所有s,t,k,我们有f(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