AT_abc065_b.[ABC065B] Trained?
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君想要增强自己的肌肉力量,于是决定在 AtCoder 公司的训练设备上进行训练。
AtCoder 公司的训练设备上有 N 个按钮,恰好有 1 个按钮是亮着的。每个按钮都标有 1 到 N 的编号。当按钮 i 亮着时,按下该按钮会使按钮 i 熄灭,然后按钮 ai 亮起。可能存在 i=ai 的情况。按下未亮着的按钮不会发生任何事情。
最开始,按钮 1 是亮着的。高桥君希望在按钮 2 亮着的时候停止训练。
请判断是否有可能让按钮 2 亮起来。如果可能,请求出最少需要按多少次按钮才能让按钮 2 亮起来。
输入格式
输入以以下格式从标准输入读入。
N
a1 a2 … aN
输出格式
如果无法让按钮 2 亮起来,输出 −1。否则,输出让按钮 2 亮起来所需按按钮的最小次数。
输入输出样例
输入#1
3 3 1 2
输出#1
2
输入#2
4 3 4 1 2
输出#2
-1
输入#3
5 3 3 4 2 4
输出#3
3
说明/提示
限制条件
- 2≤N≤105
- 1≤ai≤N
样例解释 1
依次按下按钮 1 和按钮 3 即可。
样例解释 2
按下按钮 1 后按钮 3 亮起,按下按钮 3 后按钮 1 亮起,因此无法让按钮 2 亮起来。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?