만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

K분 그래프

시간 제한2초메모리 제한1024 MB

요약
가중치가 있는 무방향 그래프와 정수 K가 주어질 때, 모든 닫힌 경로의 가중치 합이 K의 배수인지 판별합니다.
난이도

보통10점 중 6점

유형
그래프, 유니온 파인드, 수학
정답자
아직 제출이 없습니다

문제

무방향 가중치 그래프가 KK분 그래프라는 것은, 그래프의 모든 닫힌 보행 PP에 대해 PP의 간선 가중치 합이 항상 KK의 배수라는 뜻이다. 한 간선을 여러 번 사용했다면 그 가중치도 사용한 횟수만큼 합에 더한다.

무방향 가중치 그래프 GG와 양의 정수 KK가 주어졌을 때, GG가 KK분 그래프인지 판별한다.

입력

첫째 줄에 정점 개수 NN, 간선 개수 MM, 양의 정수 KK가 공백으로 구분되어 주어진다. (1≤N≤300 0001 \le N \le 300\,000, 0≤M≤500 0000 \le M \le 500\,000, 1≤K≤1091 \le K \le 10^9)

이후 MM개의 줄에 정수 viv_i, wiw_i, xix_i가 공백으로 구분되어 주어진다. 이는 viv_i번 정점과 wiw_i번 정점을 잇는 가중치 xix_i의 양방향 간선을 뜻한다. (1≤vi,wi≤N1 \le v_i, w_i \le N, 0≤xi≤1090 \le x_i \le 10^9)

두 정점을 잇는 간선이 여러 개일 수 있으며, 같은 정점을 잇는 간선이 존재할 수 있다. 주어지는 그래프가 연결되어 있지 않을 수도 있다.

출력

주어진 그래프가 KK분 그래프이면 Yes를, 아니면 No를 출력한다.

힌트

닫힌 보행은 시작점과 끝점이 같은 보행을 말하며, 같은 정점과 간선을 여러 번 방문할 수 있다.

예제2

  1. 예제 1

    입력
    3 3 6
    1 2 3
    2 3 6
    3 1 9
    
    예상 출력
    Yes
    
  2. 예제 2

    입력
    4 4 7
    1 2 3
    2 3 2
    3 4 3
    4 2 2
    
    예상 출력
    No