#AT2502. B - Call the ID Number
B - Call the ID Number
当前没有测试数据。
B - 喊ID号码
得分:$200$分
问题描述
有$N$个人,他们的ID号码分别是$1$, $2$, $\ldots$, 和 $N$。
每个人按照以下顺序执行一次如下操作:
- 如果第$i$个人的ID号码还未被喊过,就喊出第$A_i$个人的ID号码。
按照升序列举所有ID号码在最后没有被喊到的人的ID号码。
限制
- $2 \leq N \leq 2 \times 10^5$
- $1 \leq A_i \leq N$
- $A_i \neq i$
- 输入中的所有值都为整数。
输入
从标准输入中以以下格式给出输入:
输出
按照以下格式列举所有最后未被喊到的人的ID号码:
``` $K$ $X_1$ $X_2$ $\ldots$ $X_K$ ```换句话说,第一行应该包含人数$K$,$K$是最后未被喊到的人的数量; 第二行应该包含未被喊到的人的ID号码序列$(X_1, X_2, \ldots, X_K)$,以升序排列,中间用空格分隔。
5
3 1 4 5 4
2
2 4
五个人的操作如下所示。
- 人$1$的ID号码还未被喊过,于是他喊出人$3$的ID号码。
- 人$2$的ID号码还未被喊过,于是他喊出人$1$的ID号码。
- 人$3$的ID号码已经被人$1$喊过了,所以什么都不会发生。
- 人$4$的ID号码还未被喊过,于是他喊出人$5$的ID号码。
- 人$5$的ID号码已经被人$4$喊过了,所以什么都不会发生。
因此,人$2$和$4$的ID号码在最后都没有被喊到。
20
9 7 19 7 10 4 13 9 4 8 10 15 16 3 18 19 12 13 2 12
10
1 2 5 6 8 11 14 17 18 20