만드는 중입니다

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

힘세고 강한 아침

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

요약
방향 가중치 그래프에서 각 질의마다 정점 k를 거치지 않고 s에서 e로 가는 최소 비용을 구하고, 경로가 없으면 No를 출력합니다.
난이도

보통10점 중 5점

유형
그래프, 최단 경로
정답자
아직 제출이 없습니다

문제

안녕하신가! 힘세고 강한 아침, 만일 내게 물어보면

나는 영도

근성은 매일 아침 개발 문서를 읽으며 하루를 시작한다. 한국어 문서를 다 읽은 근성은 해외 문서를 읽기 시작했지만, 세상의 다양한 언어로 작성된 개발 문서를 보고 눈앞이 아득해졌다. 이를 본 영도는 근성을 도와주려고 '정영도 봇'(이하 봇)을 만들었다. 봇은 NN개 언어 가운데 일부 언어 쌍에 대한 번역을 제공한다.

봇은 프로토타입이라 특이한 번역 로직을 가지고 있다.

  • 각 언어는 11 이상 NN 이하의 중복되지 않는 고유 번호를 가진다.
  • 봇은 일부 (A,B)(A,B) 언어 쌍에 대한 데이터를 가지고 있다. 여기서 AA와 BB는 언어의 고유 번호다.
  • 변환은 어떤 언어로 쓰인 문구를 다른 언어로 쓰인 문구로 바꾸는 과정이다. AA번 언어의 문구를 BB번 언어의 문구로 바꾸려면 봇이 (A,B)(A,B) 언어 쌍에 대한 데이터를 가지고 있어야 한다. (A,B)(A,B)와 (B,A)(B,A)는 서로 다른 언어 쌍이다.
  • 'AA번 언어의 문구를 BB번 언어의 문구로 바꾸는 변환'은 'AA번 언어를 BB번 언어로 바꾸는 변환'으로 줄여 쓸 수 있다.
  • 변환에는 비용이 든다.
  • AA번 언어를 BB번 언어로 번역하는 것은 한 번 이상의 변환을 거쳐 AA번 언어를 BB번 언어로 바꾸는 것이다. 이 과정에서 거치는 변환의 순서를 경로라고 한다.

근성은 봇의 성능을 확인하려고, 언어 ss가 있을 때 특정 언어 kk를 거치지 않고 언어 ee로 번역할 수 있는지 묻고, 가능하다면 경로들의 비용 중 최솟값이 얼마인지 여러 번 물었다. 영도는 질문에 답하려고 입력값을 하나씩 넣는 일에 지쳤다. 그래서 번역 가능 여부와 최소 비용을 구하는 프로그램을 만들려 했지만, 봇을 만드는 데 힘을 너무 많이 써서 또 다른 프로그램을 만들 힘이 남지 않았다.

영도를 위해 봇의 번역 가능 여부와 최소 비용을 구하는 프로그램을 작성하라.

입력

첫 번째 줄에 언어의 개수 NN, 봇이 가진 데이터의 개수 MM, 질문의 개수 QQ가 공백으로 구분되어 주어진다.

두 번째 줄부터 MM개의 줄에 걸쳐 bb tt cc 형식으로 데이터가 주어진다. 봇이 (b,t)(b,t) 언어 쌍에 대한 데이터를 가지고 있고, 그 언어 쌍을 이용한 변환의 비용이 cc라는 뜻이다. 봇은 같은 (b,t)(b,t) 언어 쌍에 대한 데이터를 중복으로 가지지 않는다.

M+2M+2번째 줄부터 QQ개의 줄에 걸쳐 ss kk ee 형식으로 질문이 주어진다. 언어 ss가 있을 때, 언어 kk를 포함하는 변환을 거치지 않고 언어 ee로 번역할 수 있는지, 가능하다면 경로들의 비용 중 최솟값이 얼마인지 묻는 질문이다.

출력

각 질문에 대해 번역이 가능하면 경로들의 비용 중 최솟값을, 불가능하면 No를 한 줄에 하나씩 출력한다.

제한

  • 3≤N≤1003 \le N \le 100
  • 1≤M≤N×(N−1)1 \le M \le N \times (N-1)
  • 1≤Q≤200 0001 \le Q \le 200\,000
  • b≠tb \neq t; 1≤b,t≤N1 \le b, t \le N; 1≤c≤10 0001 \le c \le 10\,000
  • s≠es \neq e; s≠ks \neq k; e≠ke \neq k; 1≤s,k,e≤N1 \le s, k, e \le N
  • 입력으로 주어지는 NN, MM, QQ, bb, tt, cc, ss, kk, ee는 모두 정수이다.

예제2

  1. 예제 1

    입력
    3 4 3
    1 2 2
    2 3 3
    1 3 6
    3 1 3
    1 3 2
    3 1 2
    2 1 3
    
    예상 출력
    2
    No
    3
    
  2. 예제 2

    입력
    5 8 5
    1 2 10
    3 5 2
    1 4 2
    4 3 2
    1 3 10
    2 5 2
    3 4 3
    4 1 3
    1 2 5
    1 4 5
    1 3 5
    3 4 5
    5 2 1
    
    예상 출력
    6
    12
    12
    2
    No