AT_abc337_c.[ABC337C] Lining Up 2

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 个人(编号为 1,2,…,N1, 2, \ldots, N)排成一列。

排列的信息以长度为 NN 的数列 A=(A1,A2,…,AN)A=(A_1, A_2, \ldots, A_N) 给出。

Ai (1≤i≤N)A_i\ (1\leq i\leq N) 表示如下信息:

  • 当 Ai=−1A_i = -1 时,第 ii 个人站在队列的最前面。
  • 当 Ai≠−1A_i \neq -1 时,第 ii 个人站在第 AiA_i 个人的正后方。

请输出队列中从前到后的人的编号。

输入格式

输入以如下格式从标准输入给出。

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

若队列中从前到后依次为 s1,s2,…,sNs_1, s_2, \ldots, s_N 号人,请按顺序用空格分隔输出 s1,s2,…,sNs_1, s_2, \ldots, 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≤N≤3×1051 \leq N \leq 3 \times 10^5
  • Ai=−1A_i = -1 或 1≤Ai≤N (1≤i≤N)1 \leq A_i \leq N\ (1 \leq i \leq N)
  • 存在且仅存在一种与给定信息不矛盾的排列方式
  • 所有输入均为整数

样例解释 1

从前到后,依次为第 33、第 55、第 44、第 11、第 22、第 66 个人时,与给定信息一致。实际上:

  • 第 11 个人站在第 44 个人的正后方。
  • 第 22 个人站在第 11 个人的正后方。
  • 第 33 个人站在队列最前面。
  • 第 44 个人站在第 55 个人的正后方。
  • 第 55 个人站在第 33 个人的正后方。
  • 第 66 个人站在第 22 个人的正后方。

可以确认与给定信息一致。因此,请按顺序输出 3,5,4,1,2,63, 5, 4, 1, 2, 6,用空格分隔。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页