AT_abc065_b.[ABC065B] Trained?

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥君想要增强自己的肌肉力量,于是决定在 AtCoder 公司的训练设备上进行训练。

AtCoder 公司的训练设备上有 NN 个按钮,恰好有 11 个按钮是亮着的。每个按钮都标有 11 到 NN 的编号。当按钮 ii 亮着时,按下该按钮会使按钮 ii 熄灭,然后按钮 aia_i 亮起。可能存在 i=aii = a_i 的情况。按下未亮着的按钮不会发生任何事情。

最开始,按钮 11 是亮着的。高桥君希望在按钮 22 亮着的时候停止训练。

请判断是否有可能让按钮 22 亮起来。如果可能,请求出最少需要按多少次按钮才能让按钮 22 亮起来。

输入格式

输入以以下格式从标准输入读入。

NN
a1a_1 a2a_2 …\ldots aNa_N

输出格式

如果无法让按钮 22 亮起来,输出 −1-1。否则,输出让按钮 22 亮起来所需按按钮的最小次数。

输入输出样例

  • 输入#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≤1052 \leq N \leq 10^5
  • 1≤ai≤N1 \leq a_i \leq N

样例解释 1

依次按下按钮 11 和按钮 33 即可。

样例解释 2

按下按钮 11 后按钮 33 亮起,按下按钮 33 后按钮 11 亮起,因此无法让按钮 22 亮起来。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页