#105
Gold III
거울세계
시간 제한
2s
메모리 제한
256MB
제출
9
정답
3
맞힌 사람
3
정답 비율
33.3%

문제

거울세계 [출처: 메이플스토리]

오늘은 알파와 베타가 데이트하는 날이다. 둘은 현재 원래 세계의 제로의 신전에 있고, 루디브리엄으로 가려고 한다.

메이플 월드는 NN개의 지역과 두 지역을 연결하는 MM개의 길로 표현할 수 있다. 각 지역은 11부터 NN까지 번호가 매겨져 있고, 11번 지역이 제로의 신전이고, NN번 지역이 루디브리엄이다.

길은 한쪽에서 다른 한쪽으로만 이동할 수 있는 일방통행로이다. 그래서 루디브리엄에 도착하지 못할 수도 있다. 대신 알파와 베타는 TT초 만큼의 시간을 들여 원래 세계의 지역에서 거울 세계의 지역으로 이동할 수 있다. 길 위에서는 거울 세계로 이동할 수 없다.

거울 세계는 원래 세계와 같은 NN개의 지역과, 원래 세계와 이동 방향이 반대인 MM개의 길로 표현할 수 있다. 한번 거울 세계로 이동하면 다시 원래 세계로 돌아올 수 없으며, 거울 세계의 루디브리엄에 도착해도 루디브리엄에 도착한 것으로 간주한다.

알파와 베타가 루디브리엄에 도착하는 최소 소요 시간을 구하는 프로그램을 작성해 보자.

입력

첫째 줄에 N(2N100000)N(2≤ N ≤ 100\, 000), M(1M300000)M(1 ≤ M ≤ 300\, 000), T(0T100000)T(0 ≤ T ≤ 100\,000)가 공백으로 구분되어 주어진다.

둘째 줄부터 MM개의 줄에 걸쳐 길 정보가 u v w(1u,vN;uv;1w1000000)u\ v\ w(1\le u, v\le N; u\ne v; 1\le w\le 1\,000\, 000)의 형태로 주어진다. uu 지역에서 vv 지역으로 가는 길이 존재하며, 이동하는데 ww초가 소요된다는 의미다.

출력

알파와 베타가 루디브리엄에 도착하는 최소 소요 시간을 초 단위로 출력한다. 만약 루디브리엄에 도착하는 것이 불가능하다면 대신 -1 을 출력한다.

예제 입력 1

4 4 8
1 2 1
2 4 10
4 3 1
3 1 1

예제 출력 1

10

원래 세계의 제로의 신전(11번 지역)에서 거울 세계의 제로의 신전으로 이동한다. 88초가 소요된다.

거울 세계의 제로의 신전에서 거울 세계의 33번 지역으로 이동한다. 11초가 소요된다.

거울 세계의 3번 지역에서 거울 세계의 루디브리엄(44번 지역)으로 이동한다. 11초가 소요된다.

따라서 총 1010초가 소요되며, 이보다 더 빠르게 도착하는 경우는 존재하지 않는다.

예제 입력 2

4 3 5
1 2 3
3 2 4
3 4 5

예제 출력 2

-1

예제 입력 3

7 9 0
5 2 8
3 4 2
5 3 3
4 1 10
6 4 2
1 5 5
2 7 10
7 6 3
1 2 10

예제 출력 3

15

힌트

답이 너무 커질 수도 있으므로 4바이트 정수형(int)이 아니라, 8바이트 정수형(C/C++: long long int, Java: long)을 사용하도록 하자.

문제를 만든 사람
조서현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
6080🥇
조서현
C++69ms18108KB1395B
5150🥈
안녕하세요저희는20학번최민우와23학번박경서로이루어진팀입니다3인1조팀이지만팀원모집에어려움을겪어두명이서나오게되었습니다두명이라조금불리하겠지만열심히해서수상까지노려보겠습니다감사합니다
C++902ms16424KB1996B
5046🥉
배고파이썬
Python16977ms131696KB1650B
난이도 투표
Gold III1명 투표· 약 1개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
6080
맞았습니다
C++69ms18108KB1395B2026. 05. 09. 13:26