A5440 | 午枫的排队
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
已知小午和小枫的队伍中有 $n$ 个人,给这 $n$ 个人编号 $1\sim n$ ,对每个人进行一次询问,编号 $i$ 的人会回答一个数字 $a_i$ 。
+ 如果 $a_i=-1$ ,表示第 $i$ 个人排在队头;
+ 如果 $a_i \neq -1$ ,表示第 $i$ 个人站在第 $a_i$ 个人的后面。
请输出队列中从前到后每个人的编号。
+ 如果 $a_i=-1$ ,表示第 $i$ 个人排在队头;
+ 如果 $a_i \neq -1$ ,表示第 $i$ 个人站在第 $a_i$ 个人的后面。
请输出队列中从前到后每个人的编号。
输入格式
第一行输入一个正整数 $n$ $(1\leq n\leq 3\times 10^5)$ ,表示队伍中的人数。
第二行输入 $n$ 个整数 $a_i$ $(a_i=-1$ 或 $1\leq a_i\leq n,a_i\neq i)$ ,表示第 $i$ 个人的回答,保证数据中 $a_i=-1$ 恰好有 $1$ 个。
第二行输入 $n$ 个整数 $a_i$ $(a_i=-1$ 或 $1\leq a_i\leq n,a_i\neq i)$ ,表示第 $i$ 个人的回答,保证数据中 $a_i=-1$ 恰好有 $1$ 个。
输出格式
输出一行 $n$ 个整数,表示队列中从前到后的人的编号。
输入输出样例
输入 #1
6 4 1 -1 5 3 2
输出 #1
3 5 4 1 2 6
从前到后,依次为第 $3$、第 $5$、第 $4$、第 $1$、第 $2$、第 $6$ 个人时,与给定信息一致。实际上:
- 第 $1$ 个人站在第 $4$ 个人的正后方。
- 第 $2$ 个人站在第 $1$ 个人的正后方。
- 第 $3$ 个人站在队列最前面。
- 第 $4$ 个人站在第 $5$ 个人的正后方。
- 第 $5$ 个人站在第 $3$ 个人的正后方。
- 第 $6$ 个人站在第 $2$ 个人的正后方。
可以确认与给定信息一致。因此,请按顺序输出 $3, 5, 4, 1, 2, 6$,用空格分隔。
- 第 $1$ 个人站在第 $4$ 个人的正后方。
- 第 $2$ 个人站在第 $1$ 个人的正后方。
- 第 $3$ 个人站在队列最前面。
- 第 $4$ 个人站在第 $5$ 个人的正后方。
- 第 $5$ 个人站在第 $3$ 个人的正后方。
- 第 $6$ 个人站在第 $2$ 个人的正后方。
可以确认与给定信息一致。因此,请按顺序输出 $3, 5, 4, 1, 2, 6$,用空格分隔。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?