#L9185. [USACO23OPEN] Rotate and Shift B
[USACO23OPEN] Rotate and Shift B
P9185 [USACO23OPEN] Rotate and Shift B
题目描述
注意:本题的时间限制为 4 秒,是默认时间限制的 2 倍。
为了庆祝春天的到来,Farmer John 的 头奶牛发明了一种有趣的舞蹈,她们围成一个圆圈,并以一种可预测的方式重新排列自己。
具体来说,圆圈上有 个位置,编号从 到 ,其中位置 紧接着位置 。每个位置上有一头奶牛。奶牛的编号也从 到 。初始时,奶牛 位于位置 。你会被告知一组 个“活跃”位置 ,这意味着这些位置上的奶牛是下一批要移动的。
在舞蹈的每一分钟,会发生两件事。首先,活跃位置上的奶牛会旋转:位置 的奶牛移动到位置 ,位置 的奶牛移动到位置 ,依此类推,位置 的奶牛移动到位置 。所有这些 次移动同时发生,因此在旋转完成后,所有活跃位置仍然恰好有一头奶牛。接下来,活跃位置本身会移动: 变为 , 变为 ,依此类推(如果某个活跃位置 ,则 会循环回到 )。
请计算舞蹈进行 分钟后奶牛的顺序。
输入格式
第一行包含三个整数 、 和 。
第二行包含 个整数,表示初始的活跃位置 。注意 ,并且这些位置是按递增顺序给出的。
输出格式
输出 分钟后奶牛的顺序,从位置 的奶牛开始,用空格分隔。
输入输出样例 1
5 3 4
0 2 3
1 2 3 4 0
说明/提示
对于上述样例,以下是前四个时间步的奶牛顺序和活跃位置 :
初始,T = 0:顺序 = [0 1 2 3 4],A = [0 2 3]
T = 1:顺序 = [3 1 0 2 4]
T = 1:A = [1 3 4]
T = 2:顺序 = [3 4 0 1 2]
T = 2:A = [2 4 0]
T = 3:顺序 = [2 4 3 1 0]
T = 3:A = [3 0 1]
T = 4:顺序 = [1 2 3 4 0]
,。
- 输入 2-7:,。
- 输入 8-13:没有额外限制。