link————————
解
分析题目,得到最终 x x x 的坐标为
( x + m ∗ 1 0 k ) (x+m*10^k) (x+m∗10k) m o d mod mod n n n
其中 1 0 k 10^k 10k 用快速幂求即可。
代码
#include<cstdio>
long long n, m, k, x, move;
long long ksm(long long kk){
if(kk == 0) return 1;
if(kk == 1) return 10;
long long l = ksm(kk>>1);
if(kk % 2 == 1) return l * l * 10 % n;
return l * l % n;
}
int main(){
scanf("%lld%lld%lld%lld", &n, &m, &k, &x);
printf("%lld", (x + m * ksm(k)) % n);
}