#671. Find it!

Find it!

背景

本题是 abc311 - C 可以借助此翻译做完后直接进入原网站提交,本题不提供测试数据。

题目描述

有一个有向图,其有 nn 个点 nn 条边。第 ii 条边从 ii 指向 aia_iiaii\not= a_i)。保证其中存在一个环,请你找到任意一个环。

输入格式

第一行为整数 nn。 第二行有 nn 个整数,第 ii 个整数为 aia_i ,表示从顶点 ii 到顶点 aia_i 有边。

输出格式

第一行为环的长度。

第二行输出这个环,可以以任意顺序。

7
6 7 2 1 3 4 5
4
7 5 3 2
2
2 1
2
1 2
8
3 7 4 7 3 3 8 2
3
2 7 8

样例 1 解释

753277\to 5\to3\to2\to7 是一个环。

下面是该输入对应的图:

当然 41644\to1\to6\to4 也是一个环,你可以输出任何一个,请注意本题图不一定连通。

样例 3 图示

数据范围

  • 2n2×1052 \le n \le 2 \times 10^5
  • 1aiN1 \le a_i \le N
  • aiia_i \ne i