목표 : 그래프 탐색 이론(DFS, BFS), 위상정렬, 플로이드 워셜, 자바스크립트, 파이썬...................
import java.util.Scanner;
import java.util.Vector;
public class bj17204 {
static int N;
static int K;
static Vector<Integer> data;
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
inputData();
findAnswer();
}
public static void inputData()
{
int i, num;
data = new Vector<>();
N = scanner.nextInt();
K = scanner.nextInt();
for(i = 0; i < N; i++)
{
num = scanner.nextInt();
data.add(num);
}
// System.out.println("입력결과");
// for(int temp : data)
// {
// System.out.print(temp + " ");
// }
}
public static void findAnswer()
{
//System.out.println("\nfindAnswer");
boolean [] visited = new boolean[N];
int count = 0;
int current = 0;
while(!visited[current])
{
if(current == K)
{
System.out.println(count);
return;
}
visited[current] = true;
current = data.get(current);
count++;
//System.out.println("count : " + count + " / current : " + current);
}
System.out.println("-1");
}
}