#3181. D - Candidates of No Shortest Paths

D - Candidates of No Shortest Paths

Time Limit: 2 sec / Memory Limit: 256 MB

问题陈述

给你一个无向连接加权图,图中有 NN 个顶点和 MM 条边,图中既没有自循环也没有双重边。
ii -th (1iM)(1≤i≤M) 条边以 cic_i 的距离连接顶点 aia_i 和顶点 bib_i
这里的{自循环}是指 ai=bi(1iM)a_i = b_i (1≤i≤M) 的一条边,而{双边}是指 (ai,bi)=(aj,bj)(a_i,b_i)=(a_j,b_j)(ai,bi)=(bj,aj)(1i<jM) ( a_{i}, b_{i}) = (b_j,a_j) (1≤i < j≤M) 的两条边。
连接图是指每对不同顶点之间都有一条路径的图。
请找出不包含在任何一对不同顶点之间的最短路径中的边的数目。

限制因素

  • 2N1002≤N≤100
  • N1Mmin(N(N1)/2,1000)N-1≤M≤min(N(N-1)/2,1000)
  • 1ai,biN1≤a_i,b_i≤N
  • 1ci10001≤c_i≤1000
  • cic_i 是整数。
  • 给定图形既不包含自循环,也不包含双边。
  • 给定图形是连通的。

输入

输入内容由标准输入法提供,格式如下

NN MM
a1a_1 b1b_1 c1c_1
a2a_2 b2b_2 c2c_2 ::
aMa_M bMb_M cMc_M

输出

打印图中不包含在任何一对不同顶点之间的最短路径中的边的数量。

Sample Input 1

3 3
1 2 1
1 3 1
2 3 3

样本输出 1

1

在给定的图中,所有不同顶点对之间的最短路径如下:

  • 从顶点 11 到顶点 22 的最短路径是:顶点 11 → 顶点 22 ,长度为 11
  • 从顶点 11 到顶点 33 的最短路径是:顶点 11 →顶点{3276558}。→ 顶点 33 ,长度为 11
  • 从顶点 22 到顶点 11 的最短路径是:顶点 22 →顶点{860547}。→ 顶点 11 ,长度为 11
  • 从顶点 22 到顶点 33 的最短路径是:顶点 22 →顶点 11 。→ 顶点 11 → 顶点 33 ,长度为 22
  • 从顶点 33 到顶点 11 的最短路径为:顶点 33 →顶点{2879158}。→ 顶点 11 ,路径长度为 11
  • 从顶点 33 到顶点 22 的最短路径是:顶点 33 →顶点{845895}。顶点 11 →顶点{8016265}。→ 顶点 22 ,长度为 22

因此,唯一一条不包含在任何最短路径中的边是连接顶点 22 和顶点 33 的长度为 33 的边,因此输出应该是 11

Sample Input 2

3 2
1 2 1
2 3 1

输出示例 2

0

每一条边都包含在一对不同顶点之间的最短路径中。