김밥천국과 도로지옥
시간 제한2초메모리 제한1024 MB
2분, 3분, 6분이 걸리는 도로로 이뤄진 도시에서 1번 구역을 출발해 정확히 K분에 N번 구역에 도착할 수 있는지 판단합니다.
문제
세진이가 사는 마을에는 개의 구역이 있고, 구역을 잇는 도로가 개 있다. 구역에는 1번부터 번까지 차례로 번호가 붙는다. 도로는 빨간색, 노란색, 파란색 세 종류가 있다.
김밥을 너무 좋아하는 세진이는 직접 김밥천국에 가지 않고 김밥을 주문해 줄 김밥 배달 로봇을 만들었다. 이 로봇은 멈추지 않고 계속 움직인다. 빨간색 도로는 2분, 노란색 도로는 3분, 파란색 도로는 6분이 걸린다.
세진이는 방금 김밥천국에 전화해서 정확히 분 후에 김밥을 찾으러 가겠다고 말했다. 세진이는 지금 자기 위치에서 로봇을 출발시키려 한다. 마을의 구조, 세진이의 위치, 김밥집의 위치를 고려했을 때, 정확히 분 후에 로봇이 김밥집에 도달하도록 이동 경로를 짤 수 있는지 확인해 보자.
분을 맞추기 위해 같은 구역을 다시 방문하거나 같은 도로를 두 번 이상 지나는 것도 가능하다. 김밥집이 있는 구역을 중간에 지나쳐도 된다. 정확히 분 후에 로봇이 김밥집 위치에 있을 수 있는지만 확인하면 된다.
입력
첫 번째 줄에 구역의 개수 , 도로의 개수 , 정수 가 공백으로 구분되어 주어진다.
두 번째 줄부터 번째 줄까지 정수 , , 가 공백으로 구분되어 주어진다. 이는 번 구역과 번 구역 사이에 건너는 데 분이 걸리는 도로가 있다는 뜻이다.
모든 도로는 양방향으로 통행할 수 있다. 같은 색의 도로가 같은 두 구역을 잇는 형태로 두 번 주어지지 않는다. 1번 구역에서 출발해 모든 구역에 도달할 수 있도록 도로가 주어진다.
로봇의 최초 위치는 항상 1번 구역이며, 김밥집의 위치는 항상 번 구역이다.
출력
정확히 분 후에 로봇이 김밥집에 있을 수 있으면 YES를, 없으면 NO를 출력한다.