转圈游戏
提交数: 109, 通过率: 55.96%, 平均分: 68.9
题目描述:
\(n\) 个小伙伴(编号从 \(0\) 到 \(n-1\))围坐一圈玩游戏。按照顺时针方向给 \(n\) 个位置编号,从 \(0\) 到 \(n-1\)。最初,第 \(0\) 号小伙伴在第 \(0\) 号位置,第 \(1\) 号小伙伴在第 \(1\) 号位置,……,依此类推。游戏规则如下:每一轮第 \(0\) 号位置上的小伙伴顺时针走到第 \(m\) 号位置,第 \(1\) 号位置小伙伴走到第 \(m+1\) 号位置,……,依此类推,第 \(n - m\) 号位置上的小伙伴走到第 \(0\) 号位置,第 \(n - m+1\) 号位置上的小伙伴走到第 \(1\) 号位置,……,第 \(n-1\) 号位置上的小伙伴顺时针走到第 \(m-1\) 号位置。
现在,一共进行了 \({10}^k\) 轮,请问 \(x\) 号小伙伴最后走到了第几号位置。
输入格式:
共一行,包含四个整数 \(n, m, k, x\),每两个整数之间用一个空格隔开。
输出格式:
一个整数,表示 \({10}^k\) 轮后 \(x\) 号小伙伴所在的位置编号。
数据范围:
对于 \(30\%\) 的数据,\(0 < k < 7\);
对于 \(80\%\) 的数据,\(0 < k < {10}^7\);
对于 \(100\%\) 的数据,\(1 < n < {10}^6\),\(0 < m < n\),\(0 \le x \le n\),\(0 < k < {10}^9\)。
样例输入:
10 3 4 5
样例输出:
5时间限制: 1000ms
空间限制: 256MB
来源: NOIP2013提高t1