문제
KOI 마을은
건물에는
단,
도로에는
일방통행 도로이기 땨문에 도로의 방향을 거슬러 이동하는 것(즉,
KOI 마을에서 한국이와 정올이는 "무궁화 꽃이 피었습니다." 놀이를 다음과 같이 변형한 게임을 진행하려 한다.
게임이 시작될 때, 정올이는
정올이의 목표는 한국이의 시야에 한 번도 발각되지 않고 가능한 한 빠르게
반면, 한국이의 목표는 정올이가
한국이는 눈을 뜨고 있는 동안 KOI 마을 전체를 볼 수 있지만, 창문이 없는 건물 내부를 볼 수 없다.
즉, 한국이는 창문이 있는 건물 내부과 도로밖에 볼 수 없다.
한국이는 게임을 시작한 순간(0초)부터 다음 동작을 주기적으로 반복한다.
먼저 정확히
a 초 동안 눈을 감는다. 곧이어 정확히b 초 동안 눈을 뜨고 마을을 감시한다.다시
a 초 동안 눈을 감는다. 곧이어 정확히b 초 동안 눈을 뜨고 마을을 감시한다.이 과정을 끊임없이 반복한다.
위의 과정을 수식으로 엄밀히 표현하면 다음과 같다.
현재 시각을 "게임을 시작한 순간부터 지나간 시간(초 단위)"으로 정의하자.
현재 시각을
t 초라 할 때,t = k(a+b) + l (k 는 음이 아닌 정수,l 은0 \le l \le a+b 를 만족하는 실수)라 하자.이때,
0 \le l \le a 일 때는 한국이가 눈을 감고 있고,a < l < a+b 일 때는 한국이가 눈을 뜨고 있다.즉, 음이 아닌 정수
k 에 대해, 한국이가 눈을 감고 있는 시간은 닫힌 구간[k(a+b), k(a+b) + a] 이고,
눈을 뜨고 있는 시간을 열린 구간(k(a+b) + a, (k+1)(a+b)) 이다.
정올이는 게임 시작 시간(0초)부터 언제든지 원할 때 이동을 시작할 수 있으며, 건물 내부에서는 창문 유뮤와 관계없이 원하는 만큼 자유롭게 대기 할 수 있다.
건물에서 도로로 나오거나 도로에서 건물 내부로 들어가는 데 소요되는 시간은 없다.
정올이가 어떤 도로를 통해 이동을 시작하면, 반드시 해당 도로의 소요 시간만큼 정확히 이동해야 하며,
이동 도중에는 도로 위에서 멈추거나 기다릴 수 없다. 이동이 끝나면 도로 끝의 건물이 도착한다.
정올이가 한국이에게 발각되는 기준은 다음과 같다.
한국이가 눈을 뜨고 있는 동안 정올이가 도로 위 또는 창문이 있는 건물 내부에 있으면, 즉시, 발각되어 게임이 곧바로 종료된다.
따라서 정올이는 한국이가 눈을 뜨고 있는 동안에는 반드시 창문이 없는 건물 내부에 있어야 한다.한국이가 눈을 감고 있는 동안에는 정올이가 어디에 있든 절대 발각 되지 않는다.
정올이가 창문이 없는 건물에 진입한 시점이 정확히 한국이가 눈을 뜨기 시작한 순긴이나,
도로에 진입하여 이동을 시작하는 시점이 정확히 한국이가 눈을 감기 시작한 순간이라면 발간되지 않는다는 점에 유의하라.
이러한 조건 아래, 정올이가 한국이에게 단 한 번도 발각되지 않고 무사히
만약 가능하다면 정올이가
[제약 조건]
주어지는 모든 수는 정수이다.
3 \le N \le 2,000 3 \le M \le 4,000 1 \le j \le M 인 각j 에 대해1 \le x_j, y_j \le N, x_j \ne y_j, 1 \le t_j <= 100,000 1 \le j < k \le M 인 각j, k 에 대해(x_j, y_j) \ne (x_k, y_k) . 즉, 두 도로의 시작 건물과 도착 건물이 모두 서로 같은 경우는 없다.2 \le i \le N-1 인 각j 에 대해c_i \in \{0, 1\} c_1 = c_N = 0 이다. 즉,1 번 건물과N 번 건물에는 창문이 없다.1 \le a,b \le 10^9
입력
첫 번째 줄에 두 정수
다음
그다음 줄에는
그다음 줄에는 두 정수
출력
만약 정올이가 어떻게 이동하더라도
그렇지 않다면, 정올이가
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 12점 | |
| #2 | 19점 | |
| #3 | 31점 | |
| #4 | 27점 | |
| #5 | 61점 | 추가 제약 조건 없음 |
예제 #1
4 4
1 2 3
1 3 4
2 4 3
3 4 1
0 0 0 0
3 8
14
시간의 경과에 따라 정올이와 한국이는 다음과 같이 행동할 수 있다.
0 초 -3 초: 한국이는 눈을 감고 있다. 정올이는0 초에1 번 도로(1 번 건물\rightarrow 2 번 건물)로 진입하여3 초에2 번 건물에 도착한다.3 초 -11 초:3 초에 한국이가 눈을 뜬다. 정올이는11 초까지2 번 건물에 머무른다.11 초 -14 초:11 초에 한국이가 눈을 감는다. 정올이는11 초에3 번 도로(2 번 건물\rightarrow 4 번 건물)로 진입하여14 초에4 번 건물에 도착한다.
정올이가
예제 #2
4 4
1 2 3
1 3 4
2 4 3
3 4 1
0 1 1 0
3 8
-1