만드는 중입니다

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

김밥천국과 도로지옥

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

요약
2분, 3분, 6분이 걸리는 도로로 이뤄진 도시에서 1번 구역을 출발해 정확히 K분에 N번 구역에 도착할 수 있는지 판단합니다.
난이도

보통10점 중 7점

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

문제

세진이가 사는 마을에는 NN개의 구역이 있고, 구역을 잇는 도로가 MM개 있다. 구역에는 1번부터 NN번까지 차례로 번호가 붙는다. 도로는 빨간색, 노란색, 파란색 세 종류가 있다.

김밥을 너무 좋아하는 세진이는 직접 김밥천국에 가지 않고 김밥을 주문해 줄 김밥 배달 로봇을 만들었다. 이 로봇은 멈추지 않고 계속 움직인다. 빨간색 도로는 2분, 노란색 도로는 3분, 파란색 도로는 6분이 걸린다.

세진이는 방금 김밥천국에 전화해서 정확히 KK분 후에 김밥을 찾으러 가겠다고 말했다. 세진이는 지금 자기 위치에서 로봇을 출발시키려 한다. 마을의 구조, 세진이의 위치, 김밥집의 위치를 고려했을 때, 정확히 KK분 후에 로봇이 김밥집에 도달하도록 이동 경로를 짤 수 있는지 확인해 보자.

KK분을 맞추기 위해 같은 구역을 다시 방문하거나 같은 도로를 두 번 이상 지나는 것도 가능하다. 김밥집이 있는 구역을 중간에 지나쳐도 된다. 정확히 KK분 후에 로봇이 김밥집 위치에 있을 수 있는지만 확인하면 된다.

입력

첫 번째 줄에 구역의 개수 NN, 도로의 개수 MM, 정수 KK가 공백으로 구분되어 주어진다. (2≤N≤100 000;(2 \le N \le 100\,000; N−1≤M≤min⁡(100 000,3N(N−1)/2);N - 1 \le M \le \min(100\,000, 3N(N-1)/2); 1≤K≤109)1 \le K \le 10^9)

두 번째 줄부터 M+1M + 1번째 줄까지 정수 ii, jj, ww가 공백으로 구분되어 주어진다. 이는 ii번 구역과 jj번 구역 사이에 건너는 데 ww분이 걸리는 도로가 있다는 뜻이다. (1≤i<j≤N;(1 \le i < j \le N; w∈{2,3,6})w \in \{2, 3, 6\})

모든 도로는 양방향으로 통행할 수 있다. 같은 색의 도로가 같은 두 구역을 잇는 형태로 두 번 주어지지 않는다. 1번 구역에서 출발해 모든 구역에 도달할 수 있도록 도로가 주어진다.

로봇의 최초 위치는 항상 1번 구역이며, 김밥집의 위치는 항상 NN번 구역이다.

출력

정확히 KK분 후에 로봇이 김밥집에 있을 수 있으면 YES를, 없으면 NO를 출력한다.

예제2

  1. 예제 1

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

    입력
    5 5 29
    1 2 6
    2 3 6
    3 4 2
    3 4 3
    2 5 6
    
    예상 출력
    YES