P14086 [ICPC 2023 Seoul R] Black Box

题目描述

下面是一个类似于 $\texttt{Python}$ 的伪代码,实现了名为 $\texttt{BlackBox()}$ 的函数。该函数接收一个正整数列表,并以特定方式对该列表中的整数进行混洗,然后将结果作为列表返回。 在伪代码中使用了以下三种列表方法:对于列表 `L`,`len(L)` 返回 `L` 的元素个数,`L.append(x)` 将元素 $x$ 添加到 `L` 的末尾,`L.pop(idx)` 则移除并返回 `L` 中下标为 $idx$ 的元素。 给定一个正整数列表 $\texttt Z$,请编写程序重构出一个列表 $\texttt I$,使得满足 $\texttt{Z = BlackBox(I)}$。 ``` function BlackBox( Banana ): if len( Banana ) = 2 ) : Kiwi = Banana[ Mango ] Apple.append( Kiwi ) Banana.pop( Mango ) Papaya = Papaya - 1 Mango = ( Kiwi + Mango - 1 ) % Papaya # while 循环结束 Apple.append( Banana[ 0 ] ) Pear = len( Apple ) - 1 Orange = Apple[ Pear ] Lime = Apple[ 0 ] Coconut = Orange % Pear Melon = Apple[ Coconut ] Apple[ 0 ] = Melon Apple[ Coconut ] = Lime return ( Apple ) # BlackBox 函数结束 ```

输入格式

你的程序需要从标准输入读取数据。第一行包含一个正整数 $n$,表示列表 $\texttt Z$ 的元素个数,其中 $5 \le n \le 200,000$。接下来的 $n$ 行,每行包含列表 $\texttt Z$ 的一个正整数,范围为 $1$ 到 $100,000$(包含 $1$ 和 $100,000$)。第 $i$ 行表示 $\texttt Z$ 的第 $i$ 个整数。

输出格式

你的程序需要向标准输出输出数据。输出列表 $\texttt I$ 的 $n$ 个整数,使得 $\texttt{Z = BlackBox(I)}$,每行一个;第 $i$ 行输出 $\texttt I$ 的第 $i$ 个整数。

说明/提示

由 ChatGPT 5 翻译