만드는 중입니다

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

호디티 흐리비마

면접 대비

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

요약
마린과 베드란은 번갈아 각자 지도에서 t까지의 거리를 엄격히 줄이는 길을 지납니다. 이반이 만들 수 있는 최대 이동 거리를 구하고, 무한히 이어지면 -1을 출력합니다.
난이도

보통10점 중 6점

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

문제

Marin과 Vedran은 스슬로베니아를 가로지르는 여러 날짜의 여행에서 각각 스카우트 팀을 이끈다. 두 사람의 지도에는 11부터 NN까지 번호가 붙은 NN개의 마을이 있으며, 여기에 출발 마을 ss와 목표 마을 tt가 포함된다.

두 사람은 각자 따로 경로 지도를 준비했다. 각 지도는 마을을 정점, 길을 간선으로 하는 무방향 가중치 그래프다. 두 지도 모두 어느 마을에서든 다른 모든 마을로 갈 수 있다.

낮에는 Marin이 자신의 지도에 있는 길 하나를 골라 팀을 이끈다. 저녁에는 Vedran이 자신의 지도에 있는 길 하나를 골라 팀을 이끈다. 이 과정은 날마다 반복되며, 팀이 목표 마을 tt에 도착하면 끝난다. 그 순간 누가 이끌고 있었는지는 상관없다.

Ivan은 두 사람을 골탕 먹이려는 사람이지만, Marin과 Vedran은 이를 모른다. 길을 고르기 전에 이끄는 사람은 Ivan에게 의견을 구하고, Ivan은 길을 하나 추천한다. 의심을 피하려면 Ivan이 고르는 길은 한 가지 조건을 만족해야 한다. 그 길을 따라간 뒤 목표 마을 tt까지의 거리가 엄격히 줄어야 한다. 이때 거리는 그 순간 팀을 이끄는 사람의 지도만으로 계산한다.

아무도 의심하지 않는 상태에서 Ivan이 팀을 목표 마을 tt까지 이끌 수 있는 최대 거리를 구하라. Ivan이 스슬로베니아 안을 영원히 이끌 수 있다면 -1을 출력하라.

탐험은 첫째 날 마을 ss에서 시작하며, 처음 이끄는 사람은 Marin이다.

입력

첫 줄에 NN, ss, tt가 주어진다(2≤N≤10002 \le N \le 1000, 1≤s,t≤N1 \le s, t \le N).

이어서 Marin의 지도, Vedran의 지도 순서로 두 블록이 주어진다. 각 블록의 첫 줄에는 길의 수 MM(N−1≤M≤105N-1 \le M \le 10^5)이 주어진다. 다음 MM개 줄에는 자연수 uu, vv, ww(1≤u,v≤N1 \le u, v \le N, 1≤w≤1061 \le w \le 10^6)가 주어지며, 이는 해당 지도에서 마을 uu와 vv 사이에 길이 ww인 길이 있다는 뜻이다.

출력

Ivan이 팀을 이끌 수 있는 최대 거리를 첫 줄에 출력한다. 팀을 영원히 이끌 수 있다면 -1을 출력한다.

힌트

첫 번째 예시 설명: 첫째 날 Ivan은 Marin이 마을 1에서 마을 4로 팀을 이끌도록 한다. 저녁에는 Ivan이 Vedran에게 마을 4와 마을 2 사이의 길을 추천한다. 둘째 날 Ivan은 Marin이 마을 2에서 마을 3으로 이끌게 하고, 이어서 Vedran이 마을 3에서 마을 2로 이끌게 한다. 이후 매일 같은 방식을 반복할 수 있으므로 경로는 영원히 이어질 수 있다.

첫 번째 그림은 Marin의 지도, 두 번째 그림은 Vedran의 지도, 세 번째 그림은 Ivan이 세운 계획이다.

예제2

  1. 예제 1

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

    입력
    3 1 3
    4
    1 2 10
    2 3 10
    1 3 20
    2 3 30
    4
    2 1 10
    1 3 10
    1 1 10
    2 3 10
    
    예상 출력
    20