Toyota Programming Contest 2023 Spring Qual B (AtCoder Beginner Contest 290) D - Marking (400)
$ \gcd(n,d) = 1なら全てのマスを順に巡っていくだけなので$ (dk)\%n
以下最大公約数をgとする
そうで無い場合は$ d = d\%nとしてよい
この場合はある限られたマスしか通らず、1周するごとに1個ずつ後ろにずれていくことになる。
何マスずれるかは何周するかなので$ q=\frac{k}{g}
その周回の何マス目なのかは$ r=k\%g
最終的なマスは$ (dr)\%n + q