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