Score : $400$ points
You are given an undirected connected weighted graph with $N$ vertices and $M$ edges that contains neither self-loops nor double edges.
The $i$-th $(1≤i≤M)$ edge connects vertex $a_i$ and vertex $b_i$ with a distance of $c_i$.
Here, a self-loop is an edge where $a_i = b_i (1≤i≤M)$, and double edges are two edges where $(a_i,b_i)=(a_j,b_j)$ or $(a_i,b_i)=(b_j,a_j) (1≤i<j≤M)$.
A connected graph is a graph where there is a path between every pair of different vertices.
Find the number of the edges that are not contained in any shortest path between any pair of different vertices.
The input is given from Standard Input in the following format:
$N$ $M$ $a_1$ $b_1$ $c_1$ $a_2$ $b_2$ $c_2$ $:$ $a_M$ $b_M$ $c_M$
Print the number of the edges in the graph that are not contained in any shortest path between any pair of different vertices.
3 3 1 2 1 1 3 1 2 3 3
1
In the given graph, the shortest paths between all pairs of different vertices are as follows:
Thus, the only edge that is not contained in any shortest path, is the edge of length $3$ connecting vertex $2$ and vertex $3$, hence the output should be $1$.
3 2 1 2 1 2 3 1
0
Every edge is contained in some shortest path between some pair of different vertices.