만드는 중입니다

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

단순한 그래프와 이상한 쿼리

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

요약
가중치가 모두 1인 무방향 그래프에서 정점 a에서 b로 가는 길이가 k의 배수인 경로가 있는지 질의마다 판별합니다.
난이도

보통10점 중 7점

유형
그래프, BFS, 정수론
정답자
아직 제출이 없습니다

문제

정점 NN개, 간선 MM개로 구성된 단순한 무향 가중치 그래프 GG가 주어진다. 각 정점은 11번부터 NN번까지의 번호로 표현되며, 각 간선의 가중치는 모두 11이다. 이때, 다음과 같은 쿼리가 QQ개 주어진다.

  • a b k: aa번 정점에서 시작하여 bb번 정점에서 끝나는 경로 중 길이가 kk의 배수인 것이 존재한다면 Yes를, 그렇지 않다면 No를 출력한다.

경로에는 같은 정점이나 같은 간선이 여러 번 포함되어도 된다. 경로의 길이는 경로에 포함된 간선 가중치의 합으로 정의된다. 같은 간선이 경로에 여러 번 포함되면, 그 간선의 가중치가 지난 횟수만큼 경로의 길이에 더해진다. 주어지는 쿼리를 올바르게 처리해 보자.

입력

첫 번째 줄에 정점의 수 NN, 간선의 수 MM, 쿼리의 수 QQ가 공백으로 구분되어 주어진다. (2≤N≤100 0002\le N\le 100\,000; 0≤M≤200 0000\le M\le 200\,000; 1≤Q≤100 0001\le Q\le 100\,000)

두 번째 줄부터 MM개의 줄에 걸쳐 각 간선의 정보를 나타내는 정수 uiu_i, viv_i, wiw_i가 공백으로 구분되어 주어진다. 이는 ii번째 간선이 가중치 wiw_i를 가지며 uiu_i와 viv_i를 잇는다는 뜻이다. 각 정점 쌍을 잇는 간선은 최대 1개임이 보장된다. (1≤ui,vi≤N1\le u_i,v_i\le N; ui≠viu_i\neq v_i; wi=1w_i=1)

M+2M+2번째 줄부터 QQ개의 줄에 걸쳐 각 쿼리가 a b k의 형태로 주어진다. (1≤a,b≤N1\le a,b\le N; a≠ba\neq b; 1≤k≤1091\le k\le 10^9)

주어지는 수는 모두 정수이다.

출력

각 쿼리마다 aa번 정점에서 시작해 bb번 정점에서 끝나는 길이가 kk의 배수인 경로가 존재하면 Yes, 그렇지 않으면 No를 한 줄에 하나씩 쿼리 순서대로 출력한다.

예제1

  1. 예제 1

    입력
    5 4 4
    1 2 1
    1 3 1
    2 3 1
    4 5 1
    4 5 2
    1 2 2
    1 3 3
    1 4 3
    
    예상 출력
    No
    Yes
    Yes
    No