만드는 중입니다

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

트리 더하기 1

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

요약
정점 N개와 간선 N개로 이루어진 연결 그래프에서 Q개의 정점 쌍 사이 최단 거리를 구합니다.
난이도

보통10점 중 6점

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

문제

NN개의 정점과 NN개의 양방향 간선으로 이루어진 연결 그래프 GG가 주어진다. 정점은 11부터 NN까지 번호가 매겨져 있다. ii번째 간선은 정점 u_iu\_i와 정점 v_iv\_i를 양방향으로 잇고, 길이는 d_id\_i이다. 정점의 순서쌍 (x_i,y_i)\left( x\_i,y\_i \right)가 QQ개 주어진다. 각각의 순서쌍에 대해 정점 x_ix\_i와 정점 y_iy\_i를 잇는 최단 경로의 길이를 구하시오.

입력

첫 번째 줄에 정점의 개수 NN이 주어진다. (2≤N≤2×105)(2\leq N\leq 2\times 10^5) 두 번째 줄부터 NN개의 줄에 걸쳐 간선의 정보 u_i,v_i,d_iu\_i,v\_i,d\_i가 공백으로 구분되어 주어진다. (1≤u_i<v_i≤N;(1\leq u\_i\lt v\_i\leq N; 1≤d_i≤109)1\leq d\_i\leq 10^9) i≠ji\neq j이고 (u_i,v_i)=(u_j,v_j)\left( u\_i,v\_i \right) =\left( u\_j,v\_j \right)인 중복 간선이 입력으로 주어질 수 있다. N+2N+2번째 줄에 정수 QQ가 주어진다. (1≤Q≤2×105)(1\leq Q\leq 2\times 10^5) N+3N+3번째 줄부터 QQ개의 줄에 걸쳐 정점 x_ix\_i와 정점 y_iy\_i가 공백으로 구분되어 주어진다. (1≤x_i<y_i≤N)(1\leq x\_i\lt y\_i\leq N) 입력으로 주어지는 모든 수는 정수이다.

출력

첫 번째 줄부터 QQ개의 줄에 걸쳐 x_ix\_i와 y_iy\_i를 잇는 최단 경로의 길이를 출력한다.

예제2

  1. 예제 1

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

    입력
    7
    1 2 6
    2 3 3
    3 4 2
    3 7 6
    4 5 1
    4 6 3
    6 7 4
    3
    1 3
    2 5
    3 6
    
    예상 출력
    9
    6
    5