4194: Lining Up 2

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

# Lining Up 2 ### 内存 1024MB ### 时间 2S ## 题目描述 $N$个人站成一排:第$1$个人、第$2$个人、...、第$N$个人。 你被给定了一个长度为N的序列$A=(A_1,A_2,...,A_N)$来描述人们的排列方式。 $A_i (1 ≤ i ≤ N)$ 表示以下信息: - 如果 $A_i = -1$,第$i$个人站在队伍的最前面; - 如果 $A_i ≠ -1$,第$i$个人站在第$A_i$个人的正后方。 请按照从前到后的顺序输出队伍中人们的编号。 ## 输入格式 输入将从标准输入中以下列格式给出: $N$ $A_1$ $A_2$ $\cdots$ $A_N$ ## 输出格式 如果第$s_1$个人、第$s_2$个人、...、第$s_N$个人按此顺序从前到后站在队伍中,请按此顺序输出$s_1, s_2, \cdots$和$s_N$,用空格分隔。 ## 输入输出样例 ### 输入样例1 ``` 6 4 1 -1 5 3 2 ``` ### 输出样例1 ``` 3 5 4 1 2 6 ``` ### 输入样例2 ``` 10 -1 1 2 3 4 5 6 7 8 9 ``` ### 输出样例2 ``` 1 2 3 4 5 6 7 8 9 10 ``` ### 输入样例3 ``` 30 3 25 20 6 18 12 26 1 29 -1 21 17 23 9 8 30 10 15 22 27 4 13 5 11 16 24 28 2 19 7 ``` ### 输出样例3 ``` 10 17 12 6 4 21 11 24 26 7 30 16 25 2 28 27 20 3 1 8 15 18 5 23 13 22 19 29 9 14 ``` ## 数据范围与提示 【样例1说明】 如果第3个人、第5个人、第4个人、第1个人、第2个人和第6个人按此顺序从前到后站在队伍中,那么这种排列与给定的信息相符。 确实,可以看到: - 第1个人站在第4个人的正后方, - 第2个人站在第1个人的正后方, - 第3个人站在队伍的最前面, - 第4个人站在第5个人的正后方, - 第5个人站在第3个人的正后方, - 第6个人站在第2个人的正后方。 因此,按顺序输出3、5、4、1、2和6,用空格分隔。 【数据范围】 $1 ≤ N ≤ 3 × 10^5$ $A_i = -1 或 1 ≤ A_i ≤ N (1 ≤ i ≤ N)$ 存在唯一一种与给定信息一致的$N$个人的排列方式 所有输入值都是整数。 ## 题目来源 ABC337C