#abc051d. [abc051_d]Candidates of No Shortest Paths

[abc051_d]Candidates of No Shortest Paths

题目描述

您将获得一个无向连通加权图,具有 NN 个顶点和 MM 条边,其中既不包含自环也不包含重复边。
ii 条边 (1iM)(1≤i≤M) 连接顶点 aia_i 和顶点 bib_i,距离为 cic_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

输出

输出图中未出现在任何两个不同顶点之间的最短路径中的边的数量。

示例输入 1

3 3
1 2 1
1 3 1
2 3 3

示例输出 1

1

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

  • 从顶点 11 到顶点 22 的最短路径为:顶点 11 → 顶点 22,长度为 11
  • 从顶点 11 到顶点 33 的最短路径为:顶点 11 → 顶点 33,长度为 11
  • 从顶点 22 到顶点 11 的最短路径为:顶点 22 → 顶点 11,长度为 11
  • 从顶点 22 到顶点 33 的最短路径为:顶点 22 → 顶点 11 → 顶点 33,长度为 22
  • 从顶点 33 到顶点 11 的最短路径为:顶点 33 → 顶点 11,长度为 11
  • 从顶点 33 到顶点 22 的最短路径为:顶点 33 → 顶点 11 → 顶点 22,长度为 22

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

示例输入 2

3 2
1 2 1
2 3 1

示例输出 2

0

每条边都出现在某对不同顶点之间的某个最短路径中。