만드는 중입니다

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

두 도로

면접 대비

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

요약
방향 그래프에 시나리오마다 일방통행 도로 두 개를 추가했을 때 S에서 T까지의 최단 시간을 구합니다. 도달할 수 없으면 -1을 출력합니다.
난이도

보통10점 중 5점

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

문제

울산에는 11번부터 NN번까지 번호가 붙은 NN개의 교차로가 있고, 교차로를 잇는 MM개의 도로가 있다. 각 도로는 일방통행이며, 도로를 따라 이동하는 데 걸리는 시간이 정해져 있다. 윤이는 매일 현대모비스의 자율주행 시스템을 탑재한 차로 집에서 회사까지 출근한다. 윤이의 집은 SS번 교차로에, 회사는 TT번 교차로에 있다. 자율주행 시스템은 항상 집에서 회사까지 최단 시간이 걸리는 경로를 이용한다. 윤이는 얼마 전 울산에 새 도로 두 개가 건설된다는 계획을 들었다. 새 도로가 어느 교차로를 잇는지, 이동 시간이 얼마인지는 아직 모른다. 그래서 윤이는 QQ개의 도로 건설 시나리오를 가정하고, 각 상황에서 자율주행차가 어떤 경로로 주행할지 계산해 보기로 했다. 각 시나리오에서 집에서 회사까지 출근하는 데 걸리는 시간을 구하시오.

입력

첫 번째 줄에 교차로의 수 NN, 기존 도로의 수 MM, 집의 교차로 번호 SS, 회사의 교차로 번호 TT가 공백으로 구분되어 주어진다. (2≤N≤3002\leq N\leq 300; 0≤M≤3 0000\leq M\leq 3\ 000; 1≤S,T≤N1\leq S,T\leq N; S≠TS\neq T)

이후 MM개의 줄에 정수 uu, vv, ww가 공백으로 구분되어 주어진다. 교차로 uu번에서 vv번으로 이동하는 일방통행 도로이며, 이동하는 데 ww의 시간이 걸린다. (1≤u,v≤N1\leq u,v\leq N; 1≤w≤1061\leq w\leq 10^6)

그 다음 줄에 도로 건설 시나리오의 수 QQ가 주어진다. (1≤Q≤100 0001\leq Q\leq 100\ 000)

이후 QQ개의 줄에 새로 건설될 두 도로의 정보를 나타내는 정수 a1a_1, b1b_1, c1c_1, a2a_2, b2b_2, c2c_2가 공백으로 구분되어 주어진다. 교차로 a1a_1번에서 b1b_1번으로 이동하는 데 c1c_1의 시간이 걸리는 일방통행 도로와, 교차로 a2a_2번에서 b2b_2번으로 이동하는 데 c2c_2의 시간이 걸리는 일방통행 도로를 새로 건설하는 시나리오이다. (1≤a1,b1,a2,b2≤N1\leq a_1,b_1,a_2,b_2\leq N; 1≤c1,c2≤1061\leq c_1,c_2\leq 10^6)

같은 교차로 쌍을 잇는 도로가 여러 개 주어질 수 있으며, 시작 교차로와 도착 교차로가 같은 도로가 주어질 수도 있다.

출력

각 도로 건설 시나리오에 대해, 윤이가 집에서 회사까지 출근하는 데 걸리는 시간을 한 줄에 하나씩 출력한다. 출근이 불가능한 시나리오에서는 해당 줄에 −1-1을 출력한다.

예제1

  1. 예제 1

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