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