알고리즘
[백준, 자바, 17204번] 죽음의 게임
hminor
2024. 10. 11. 15:28
반응형
풀이
- 따로 Stack이나 Deque를 사용하지 않아도 될 것 같은 문제라서
- 간단하게 해결했음
- 이유는, 어차피 한 사람이 지목할 수 있는 건 한 사람이기에
- 굳이 배열을 만들 필요가 없다고 판단
- 이후 다른 코드는 따로 풀이하지 않아도 간단하게 해결할 수 있기에 풀이는 생략!
import java.io.*;
import java.util.Arrays;
public class _17204 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] NK = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
int[] li = new int[NK[0]];
boolean[] visit = new boolean[NK[0]];
int result = -1;
int cnt = 0;
for (int i=0; i<NK[0]; i++) li[i] = Integer.parseInt(br.readLine());
int now = 0;
while (true) {
if (visit[now]) break;
else {
visit[now] = true;
now = li[now];
cnt++;
if (now==NK[1]) {
result = cnt;
break;
}
}
}
System.out.println(result);
}
}