#P14086. [ICPC 2023 Seoul R] Black Box
[ICPC 2023 Seoul R] Black Box
Description
下面是一个类似于 的伪代码,实现了名为 的函数。该函数接收一个正整数列表,并以特定方式对该列表中的整数进行混洗,然后将结果作为列表返回。
在伪代码中使用了以下三种列表方法:对于列表 L,len(L) 返回 L 的元素个数,L.append(x) 将元素 添加到 L 的末尾,L.pop(idx) 则移除并返回 L 中下标为 的元素。
给定一个正整数列表 ,请编写程序重构出一个列表 ,使得满足 。
function BlackBox( Banana ):
if len( Banana ) <= 4 :
exit("Too small Banana")
Apple = [] # [] 表示空列表
Mango = 0
Papaya = len( Banana )
while( Papaya >= 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 函数结束
Input Format
你的程序需要从标准输入读取数据。第一行包含一个正整数 ,表示列表 的元素个数,其中 。接下来的 行,每行包含列表 的一个正整数,范围为 到 (包含 和 )。第 行表示 的第 个整数。
Output Format
你的程序需要向标准输出输出数据。输出列表 的 个整数,使得 ,每行一个;第 行输出 的第 个整数。
13
113
49
68
91
10
179
2
71
78
45
57
10
88
10
113
179
68
57
45
10
2
88
71
49
78
91
9
6
8
7
9
5
1
2
4
3
9
8
7
6
5
1
2
3
4
Hint
由 ChatGPT 5 翻译
京公网安备 11011102002149号