아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

도로 봉쇄

면접 대비

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

요약
가중 무방향 그래프에서 간선 하나의 길이를 두 배로 늘려 1번에서 N번까지 최단 경로 길이의 증가분을 최대로 만든다.
난이도

보통10점 중 6점

유형
그래프, 최단 경로, 완전 탐색, 그리디
정답자
아직 제출이 없습니다

문제

매일 아침 농부 존(FJ)은 집에서 헛간까지 농장을 가로질러 걸어간다. 농장은 NN개의 밭(1≤N≤1001 \le N \le 100)으로 이루어져 있으며, 각각 양의 길이를 가진 MM개의 양방향 길(1≤M≤10,0001 \le M \le 10{,}000)로 연결되어 있다. FJ의 집은 11번 밭에, 헛간은 NN번 밭에 있다. 두 밭을 잇는 길은 많아야 하나뿐이며, 어떤 밭에서든 다른 모든 밭으로 이동할 수 있다. FJ는 이동할 때 항상 전체 길이가 최소가 되는 경로를 택한다.

장난기 많은 젖소들은 FJ의 아침 산책을 방해하려 한다. 젖소들은 MM개의 길 중 정확히 하나에 건초 더미를 쌓아 그 길의 길이를 두 배로 만든다. 젖소들은 집에서 헛간까지 FJ의 최단 경로 길이가 최대한 많이 늘어나도록 길을 고르려 한다. 젖소들이 만들 수 있는 최대 증가량을 구하라.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 NN과 MM.
  • 2…M+12 \dots M+1번째 줄: j+1j+1번째 줄은 jj번째 양방향 길을 세 정수 AjA_j, BjB_j, LjL_j로 나타낸다. 밭 AjA_j와 BjB_j(각각 1…N1 \dots N 범위)는 길이 LjL_j(1≤Lj≤1,000,0001 \le L_j \le 1{,}000{,}000)인 길로 연결된다.

출력

  • 첫째 줄: 길 하나의 길이를 두 배로 만들어 얻을 수 있는, 11번 밭에서 NN번 밭까지 FJ 최단 경로 길이의 최대 증가량.

힌트

예시에서는 밭이 55개, 길이 77개 있다. 처음에 집(11번 밭)에서 헛간(55번 밭)까지의 최단 경로는 1→3→4→51 \to 3 \to 4 \to 5이며 전체 길이는 1+3+2=61 + 3 + 2 = 6이다.

젖소들이 밭 33과 밭 44 사이 길의 길이를 두 배로(33에서 66으로) 만들면, FJ의 최단 경로는 1→3→51 \to 3 \to 5가 되어 전체 길이가 1+7=81 + 7 = 8이 되고, 이는 이전보다 22만큼 길다. 다른 어떤 길 하나로도 이보다 더 크게 늘릴 수 없으므로 답은 22이다.

예제1

  1. 예제 1

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