기간 : 2024. 12/16 ~ 12/19

Day 1(12/16~12/17) - 빡구현

Easy - AtCoder ABC 065 B

https://atcoder.jp/contests/abc065/tasks/abc065_b

문제 설명

$N$개의 숫자가 주어진다. 이들 각각은 버튼이며, 불이 들어올 수 있다.

index i의 버튼의 불이 켜져 있다고 가정을 하자. 그러면, 우리가 index i 의 버튼을 누르면, i의 불이 꺼지고 $a_i$의 불이 들어온다.

초기에는, 1번 버튼에 불이 들어와 있다. 나머지 버튼들은 모두 불이 꺼져 있다.

이때, 2번 버튼의 불을 켤 수 있는지, 만약 가능하다면 최소 몇 번 눌러야 가능한지를 구하라. 불가능하다면 -1을 출력해라.

예를 들어서, 문제의 예시 입력

스크린샷 2024-12-17 오후 5.25.10.png

을 보면, 3개의 버튼이 주어지고,

불이 켜져 있는 1번 버튼을 누르면, 1번 버튼의 불이 꺼지고 3번 버튼에 불이 들어온다.

불이 켜져 있는 2번 버튼을 누르면, 2번 버튼의 불이 꺼지고, 1번 버튼에 불이 들어온다.

불이 켜져 있는 3번 버튼을 누르면, 3번 버튼의 불이 꺼지고, 2번 버튼에 불이 들어온다.

이를 일반화하면,

<aside> 💡

불이 켜져 있는 i번 버튼을 누르면, i번 버튼의 불이 꺼지고, $a_i$ 번 버튼의 불이 켜진다.

</aside>

가 된다.