[语言月赛202306] 纸条

Luogu
IDLGB3782
Time1000ms
Memory512MB
DifficultyP2
模拟2023O2优化语言月赛
zyl 桌上有 $n$ 张纸条(编号 $1\sim n$),他要把这些纸条按被写下的时间的前后顺序排好,但是纸条上不会有日期,zyl 需要自己判断。 zyl 可以根据纸条内容的连贯性来确定**紧跟**在一张纸条之后纸条有哪些。同时,他可以通过纸条的破损程度判断内容不连贯的纸条的时间先后顺序。显然,对于一段连贯内容的最后一张纸条,紧跟在它后面的纸条只能通过破损程度来判断。 现在,你会收到按以下规则给出的,每张纸条的信息: 首先,你会得知在这一段连贯内容中紧跟在这张纸条后面的纸条的数量 $m$。 其次,按照时间前后依次告诉你这些纸条的编号。 如果没有「连贯内容中紧跟在后面的纸条」(即在连贯内容的最后一张,$m = 0$),则会按照破损程度给出紧跟它的下一张纸条的编号,如果没有「按照破损程度紧跟它的下一张纸条」,你会得到一个 $-1$ 信号。 **如果对于这一部分理解有困难,可以参照「输入格式」及「样例组」进行理解。** 请你帮助 zyl 将纸条排序,并将这 $n$ 张纸条按时间顺序排序后的编号输出。 ## Input 输入共 $n+1$ 行。 第一行一个整数 $n$,表示纸条的张数。 第 $2\sim n+1$ 行,第 $i+1$ 行具体内容如下: 第一个整数 $m$,表示在连贯内容内 $i$ 号纸条之后有多少张纸条。 - 如果 $m>0$,则接下来 $m$ 个整数,表示按照时间前后紧跟在 $i$ 号纸条后的纸条编号。 - 如果 $m = 0$,接下来一个整数,表示按照纸条的破损程度,紧跟在 $i$ 号纸条后面的纸条编号。如果其后没有纸条,则该整数为 $-1$。 ## Output 输出共一行 $n$ 个整数,表示按时间先后排好序后纸条的编号。 [samples] ## Note ### 样例 1 解释 纸条 $2,1,3$ 是内容连贯的纸条,纸条 $5,4$ 是另一组内容连贯的纸条。 ### 数据规模与约定 对于 $20\%$ 的数据,$n\leq 5$。 对于 $100\%$ 的数据,$0\leq m<n\leq 2\times10^{3}$。
Samples
Input #1
5
1 3
2 1 3
0 5
0 -1
1 4
Output #1
2 1 3 5 4
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛202306] 纸条",
    "description": {
      "content": "zyl 桌上有 $n$ 张纸条(编号 $1\\sim n$),他要把这些纸条按被写下的时间的前后顺序排好,但是纸条上不会有日期,zyl 需要自己判断。 zyl 可以根据纸条内容的连贯性来确定**紧跟**在一张纸条之后纸条有哪些。同时,他可以通过纸条的破损程度判断内容不连贯的纸条的时间先后顺序。显然,对于一段连贯内容的最后一张纸条,紧跟在它后面的纸条只能通过破损程度来判断。 现在,你会收到按以下规",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3782"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "zyl 桌上有 $n$ 张纸条(编号 $1\\sim n$),他要把这些纸条按被写下的时间的前后顺序排好,但是纸条上不会有日期,zyl 需要自己判断。\n\nzyl 可以根据纸条内容的连贯性来确定**紧跟**在一张纸条之后纸条有哪些。同时,他可以通过纸条的破损程度判断内容不连贯的纸条的时间先后顺序。显然,对于一段连贯内容的最后一张纸条,紧跟在它后面的纸条只能通过破损程度来判断。\n\n现在,你会收到按以下规...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments