#USACO446. 轮换和移位
轮换和移位
题目描述
有 头奶牛,编号 。
奶牛们正在围着一个圆圈跳舞。
圆圈上有 个位置,按顺时针编号依次为 ,位置 的下一个位置是位置 。
每个位置上都有一头奶牛。
初始时,位置 上的奶牛恰好是奶牛 。
有 个位置 是活跃位置。
在每一轮舞蹈中,都会依次发生以下两件事:
- 所有活跃位置的奶牛进行位置轮换:位置 的奶牛移动到位置 ,位置 的奶牛移动到位置 ,…,位置 的奶牛移动到位置 ,位置 的奶牛移动到位置 。这 个移动是同时发生的,因此轮换完成后,每个活跃位置上仍然恰好有一头牛。
- 活跃位置本身发生变化:所有活跃位置向下移动一位, 变为 , 变为 ,依此类推。也就是说,对于第 个活跃位置 ,如果 等于 ,则向下移动一位后, 变为 (如果 等于 ,则向下移动一位后, 变为 )。
请你计算,跳完 轮舞蹈后每个位置上分别是哪个奶牛。
输入格式
第一行包含三个整数 。
第二行包含 个整数 。
输出格式
共一行,输出 个整数,表示跳完 轮舞蹈后位置 上的奶牛的编号。
5 3 4
0 2 3
1 2 3 4 0
提示
样例解释
四轮舞蹈过程如下:
- 初始时,奶牛顺序:[0,1,2,3,4],A=[0,2,3]。
- 第一轮舞蹈过后,奶牛顺序 [3,1,0,2,4],A=[1,3,4]。
- 第二轮舞蹈过后,奶牛顺序 [3,4,0,1,2],A=[2,4,0]。
- 第三轮舞蹈过后,奶牛顺序 [2,4,3,1,0],A=[3,0,1]。
- 第四轮舞蹈过后,奶牛顺序 [1,2,3,4,0],A=[4,1,2]。