1 条题解
-
0
思路
此题根据题意模拟即可。
由于是 个人在转圈,每个人每次前进 个单位,走 次。
显然,每个人移动过 个单位后回到起点,相当于没运动,因此我们可以直接计算初始位置 加上 ,再对一圈的长度 取模即可求出答案。
注意事项
- 计算 时数据较大,要用快速幂。
- 编号从 开始。
参考代码
#include<bits/stdc++.h> using namespace std; typedef long long LL; LL qpow(LL a,LL b,LL P) { LL ans=1%P;a%=P; for(;b;b>>=1) { if(b&1)ans=ans*a%P; a=a*a%P; } return ans; } int main() { LL n,m,k,x;cin>>n>>m>>k>>x; cout<<(x+m*qpow(10,k,n))%n<<endl; return 0; }
- 1
信息
- ID
- 1760
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 85
- 已通过
- 41
- 上传者