Floyd-Warshall
시간 제한5초메모리 제한256 MB
방향 가중 그래프가 주어질 때, 반복문 순서를 y, z, x로 바꾼 Floyd-Warshall이 거리를 잘못 계산하는 정점 쌍의 개수를 구합니다.
문제
Radewoosh는 정점이 개인 방향 가중 그래프를 가지고 있다. 그는 모든 정점 쌍 사이의 거리를 구해야 해서 Floyd-Warshall 알고리즘을 쓰기로 했다.
Floyd-Warshall 알고리즘을 올바르게 구현하면 다음과 같다.
- 은 행렬이다. 초기값은 다음과 같다.
- 에 대해 다음을 반복한다.
- 에 대해 다음을 반복한다.
- 에 대해 다음을 반복한다.
Radewoosh가 반복문의 순서를 잘못 바꾸는 바람에 그의 알고리즘은 틀리게 되었다.
잘못 구현한 알고리즘은 다음과 같다.
- 은 위에서 정의한 행렬이다.
- 에 대해 다음을 반복한다.
- 에 대해 다음을 반복한다.
- 에 대해 다음을 반복한다.
Radewoosh의 알고리즘으로 거리를 잘못 구하는 정점 순서쌍은 몇 개인가?
입력
첫 줄에 정점의 개수 과 간선의 개수 이 주어진다 (, ).
이어지는 개의 줄에는 정수 , , 가 주어진다 (, , ). 이는 번째 간선이 에서 로 가며 가중치가 라는 뜻이다. 같은 순서쌍 는 두 번 주어지지 않는다.
출력
Radewoosh의 알고리즘으로 거리를 잘못 계산하는 정점 순서쌍의 개수를 한 줄에 출력한다.