Teleporter
면접 대비시간 제한2초메모리 제한1024 MB
비타로는 1번 방에서 N번 방에 가장 빨리 도달하려 하고 비바코는 이를 늦추려 할 때, 게임이 끝나는 라운드 수를 구하며 끝나지 않으면 -1을 출력합니다.
문제
JOI 연구소에는 개의 방이 있고, 각 방에는 1부터 까지 번호가 붙어 있다. 방 , 방 , , 방 에는 텔레포터가 여러 개 놓여 있다. 방 ()에는 개의 텔레포터가 있다. 방 의 번째 () 텔레포터의 행き先은 방 또는 방 중 하나로 설정할 수 있다. 단, 인 경우도 있다.
JOI 연구소 직원인 비타로와 비바코는 이 방들과 텔레포터를 사용해 게임을 한다. 게임은 다음과 같이 진행된다.
-
비타로는 게임 시작 시 방 에 있다.
-
라운드가 반복된다. 각 라운드는 다음과 같이 진행된다.
- 비타로가 방 에 있다고 하자. 비타로는 방 에 있는 개의 텔레포터 중 하나를 고른다.
- 비타로가 방 의 번째 텔레포터를 골랐다고 하자. 비바코는 그 텔레포터의 행き先을 방 또는 방 로 설정한다. 라운드마다 다른 쪽을 고를 수 있다.
- 비타로가 방 의 번째 텔레포터를 이용한다. 비타로는 비바코가 고른 행き先으로 이동한다.
- 비타로가 방 으로 이동하면, 또는 이 라운드가 번째 라운드이면 게임이 끝난다.
이 게임에서 비타로의 목표는 게임이 끝날 때까지의 라운드 수를 최대한 적게 만드는 것이다. 비바코의 목표는 라운드 수를 최대한 많게 만드는 것이다.
JOI 연구소의 정보가 주어졌을 때, 두 사람이 최선을 다했을 때 몇 번째 라운드에 게임이 끝나는지 구하는 프로그램을 작성하라.
입력
입력은 다음 형식으로 표준 입력에서 주어진다.
출력
두 사람이 최선을 다했을 때 몇 번째 라운드에 게임이 끝나는지 한 줄에 출력하라. 단, 번째 라운드에 게임이 끝나는 경우에는 대신 을 출력하라.
제한
- .
- ().
- .
- (, ).
- (, ).
- 입력되는 값은 모두 정수이다.