| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 | 2048 MB | 295 | 121 | 59 | 35.976% |
KOI 마을은 $N$개의 건물과 $M$개의 도로로 이루어져 있다.
건물에는 1ドル$부터 $N$까지의 번호가 붙어 있으며, 각 건물에는 창문이 있거나 없다. 1ドル ≤ i ≤ N$인 각 $i$에 대해, $i$번 건물에 창문이 있으면 $c_i = 1$이고, 창문이 없으면 $c_i = 0$이다. 단, 1ドル$번 건물과 $N$번 건물에는 창문이 없어서, $c_1 = c_N = 0$이다.
도로에는 1ドル$부터 $M$까지의 번호가 붙어 있으며, 각 도로는 정확히 하나의 시작 건물과 하나의 도착 건물을 연결하는 일방통행 도로이다. 1ドル ≤ j ≤ M$인 각 $j$에 대해, $j$번 도로는 $x_j$번 건물에서 시작하여 $y_j$번 건물에서 끝나며, 이 도로를 지나가는 데에는 정확히 $t_j$초가 걸린다. 일방통행 도로이기 때문에 도로의 방향을 거슬러 이동하는 것(즉, $y_j$번 건물에서 $x_j$번 건물로 이동하는 것)은 불가능하다.
KOI 마을에서 한국이와 정올이는 "무궁화 꽃이 피었습니다" 놀이를 다음과 같이 변형한 게임을 진행하려 한다.
게임이 시작될 때, 정올이는 1ドル$번 건물에 있다. 정올이의 목표는 한국이의 시야에 한 번도 발각되지 않고 가능한 한 빠르게 $N$번 건물에 도착하는 것이다. 반면, 한국이의 목표는 정올이가 $N$번 건물에 도착하기 전에 그를 찾아내는 것이다.
한국이는 눈을 뜨고 있는 동안 KOI 마을 전체를 볼 수 있지만, 창문이 없는 건물 내부는 볼 수 없다. 즉, 한국이는 창문이 있는 건물 내부와 도로밖에 볼 수 없다.
한국이는 게임을 시작한 순간(0ドル$초)부터 다음 동작을 주기적으로 반복한다.
위의 과정을 수식으로 엄밀히 표현하면 다음과 같다.
정올이는 게임 시작 시점(0ドル$초)부터 언제든지 원할 때 이동을 시작할 수 있으며, 건물 내부에서는 창문 유무와 관계없이 원하는 만큼 자유롭게 대기할 수 있다. 건물에서 도로로 나오거나 도로에서 건물 내부로 들어가는 데 소요되는 시간은 없다. 정올이가 어떤 도로를 통해 이동을 시작하면, 반드시 해당 도로의 소요 시간만큼 정확히 이동해야 하며, 이동 도중에는 도로 위에서 멈추거나 기다릴 수 없다. 이동이 끝나면 도로 끝의 건물에 도착한다.
정올이가 한국이에게 발각되는 기준은 다음과 같다.
이러한 조건 아래, 정올이가 한국이에게 단 한 번도 발각되지 않고 무사히 $N$번 건물에 도착하는 것이 가능한지 판단하고, 만약 가능하다면 정올이가 $N$번 건물에 도착할 수 있는 가장 빠른 시간을 초 단위로 계산하는 프로그램을 작성하라.
첫 번째 줄에 두 정수 $N$과 $M$이 공백을 사이에 두고 주어진다.
다음 $M$개의 줄에는 도로의 정보가 주어진다. 이 중 $j$ (1ドル ≤ j ≤ M$)번째 줄에는 세 정수 $x_j,ドル $y_j,ドル $t_j$가 공백을 사이에 두고 주어진다.
그다음 줄에는 $N$개의 정수 $c_1 , c_2 , \cdots , c_N$이 공백을 사이에 두고 주어진다.
그다음 줄에는 두 정수 $a,ドル $b$가 공백을 사이에 두고 주어진다.
만약 정올이가 어떻게 이동하더라도 $N$번 건물에 도착할 수 없다면, -1을 출력한다.
그렇지 않다면, 정올이가 $N$번 건물에 도착하기 위해 소요되는 최소 시간을 초 단위로 출력한다. 이 값은 항상 정수임을 증명할 수 있다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 12 | $N ≤ 5,ドル $M ≤ 10$ |
| 2 | 19 | 2ドル ≤ i ≤ N − 1$인 각 $i$에 대해 $c_i = 1$이다. |
| 3 | 31 | 1ドル ≤ j ≤ M$인 각 $j$에 대해 $t_j = 1$이다. |
| 4 | 27 | $M = N − 1$이다. 또한, 1ドル ≤ j ≤ N − 1$인 각 $j$에 대해 $x_j = j,ドル $y_j = j + 1$이다. |
| 5 | 61 | 추가 제약 조건 없음 |
4 4 1 2 3 1 3 4 2 4 3 3 4 1 0 0 0 0 3 8
14
시간의 경과에 따라 정올이와 한국이는 다음과 같이 행동할 수 있다.
정올이가 14ドル$초보다 빨리 4ドル$번 건물에 도착하는 방법은 없으므로, 14ドル$를 출력하여야 한다.
4 4 1 2 3 1 3 4 2 4 3 3 4 1 0 1 1 0 3 8
-1
1ドル$번 건물과 4ドル$번 건물을 제외한 모든 건물에 창문이 있으므로, 정올이는 한국이가 눈을 뜨기 전에(즉, $a = 3$초 내에) 4ドル$번 건물에 도착해야 한다. 하지만 3ドル$초 안에 정올이가 4ドル$번 건물에 도착하는 것은 불가능하다. 따라서, -1을 출력하여야 한다.
Olympiad > 한국정보올림피아드 > KOI 2025 1차대회 > 고등부 2번