AT_abc293_b [ABC293B] Call the ID Number

题目描述

有 $N$ 个人,编号为 $1$、$2$、$\ldots$、$N$。 这 $N$ 个人会按照人 $1$、人 $2$、$\ldots$、人 $N$ 的顺序,各自恰好进行一次如下操作: - 如果第 $i$ 个人还没有被别人叫过编号,那么他会叫出人 $A_i$ 的编号。 请将最后一次都没有被别人叫过编号的所有人的编号**按升序**输出。

输入格式

输入以如下格式从标准输入给出。 > $N$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

请按如下格式输出最后一次都没有被别人叫过编号的所有人的编号。 > $K$ > $X_1$ $X_2$ $\ldots$ $X_K$ 即,第一行输出最后一次都没有被别人叫过编号的人的人数 $K$,第二行输出这些人的编号,按升序排列,编号之间用空格隔开。

说明/提示

### 限制条件 - $2 \leq N \leq 2 \times 10^5$ - $1 \leq A_i \leq N$ - $A_i \neq i$ - 输入均为整数 ### 样例解释 1 $5$ 个人的操作如下: - 人 $1$ 还没有被叫过编号,所以人 $1$ 叫了人 $3$ 的编号。 - 人 $2$ 还没有被叫过编号,所以人 $2$ 叫了人 $1$ 的编号。 - 人 $3$ 已经被人 $1$ 叫过编号,所以什么都不做。 - 人 $4$ 还没有被叫过编号,所以人 $4$ 叫了人 $5$ 的编号。 - 人 $5$ 已经被人 $4$ 叫过编号,所以什么都不做。 因此,最后一次都没有被别人叫过编号的是人 $2$ 和人 $4$。 由 ChatGPT 4.1 翻译