당신의 인생
면접 대비시간 제한1초메모리 제한256 MB
앞쪽으로만 이동하는 방향 그래프에서 1번 정점에서 N번 정점까지 최소 이동 횟수를 구하고 도달할 수 없으면 -1을 출력합니다.
문제
꿈을 이루는 과정에서 일어날 수 있는 상황의 관계를 그래프로 나타낸다. 수많은 상황을 개로 압축하고 1번부터 번까지 번호를 붙였다. 당신은 지금 1번 상황에 있고, 번 상황이 당신이 이루려는 유일한 꿈이다.
상황은 당신의 선택에 따라 바뀐다. 선택할 수 있는 변화는 모두 개이며 , 형태로 주어진다. 이는 번 상황에 있을 때 번 상황으로 가는 선택을 할 수 있다는 뜻이고, 가 보장된다.
당신은 꿈을 이룰 수 있는가? 이룰 수 있다면 상황이 바뀌는 횟수를 최소로 줄였을 때 몇 번 만에 꿈을 이루는가?
입력
첫째 줄에 자연수 과 이 공백으로 구분되어 주어진다. 이고 이다.
다음 개의 줄에 자연수 와 가 공백으로 구분되어 주어진다. 이다. 같은 변화가 두 번 이상 주어질 수 있다.
출력
꿈을 이룰 수 있으면 필요한 상황 변화 횟수의 최솟값을 출력하고, 이룰 수 없으면 -1을 출력한다.
힌트
첫 번째 예제에서는 1번에서 2번으로, 다시 2번에서 4번으로 상황을 바꾸면 두 번 만에 꿈을 이룬다.