atcoder#ABC290D. [ABC290D] Marking

[ABC290D] Marking

题目描述

0 0 から N1 N-1 までの番号がつけられた N N 個のマスが並んでいます。 今から、すぬけくんが以下の手順に従って全てのマスに印をつけていきます。

  1. マス 0 0 に印をつける。
  2. 次の i - iii の手順を N1 N−1 回繰り返す。
  3. 最後に印をつけたマスの番号を A A としたとき、変数 x x (A+D) mod N (A+D)\ \bmod\ N で初期化する。
  4. マス x x に印が付いている限り、 x x (x+1) mod N (x+1)\ \bmod\ N に更新することを繰り返す。
  5. マス x x に印をつける。

すぬけくんが K K 番目に印をつけるマスの番号を求めてください。

T T 個のテストケースが与えられるので、それぞれについて答えを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。ここで、testi \mathrm{test}_i i i 番目のテストケースを意味する。

T T test1 \mathrm{test}_1 test2 \mathrm{test}_2 \vdots testT \mathrm{test}_T

各テストケースは以下の形式で与えられる。

N N D D K K

输出格式

T T 行出力せよ。

i (1 i  T) i\ (1\leq\ i\ \leq\ T) 行目には、i i 番目のテストケースに対する答えを出力せよ。

题目大意

nn 个排成一个环的格子,编号为 0n10\sim n-1。现在进行如下操作:

  • 选择 00 号格子,将其打上标记。
  • 选择 dd 个格子后的第一个尚未被标记的格子,将其打上标记。
  • 重复执行直到所有格子都被打上标记。

你需要输出第 kk 次标记的格子的编号。

TT 组数据。1T1051\le T\le 10^51kn1091\le k\le n\le10^91d1091\le d\le 10^9

—— by Register_int

9
4 2 1
4 2 2
4 2 3
4 2 4
5 8 1
5 8 2
5 8 3
5 8 4
5 8 5
0
2
1
3
0
3
1
4
2

提示

制約

  • 1 T  105 1\leq\ T\ \leq\ 10^5
  • 1 K N  109 1\leq\ K\leq\ N\ \leq\ 10^9
  • 1 D  109 1\leq\ D\ \leq\ 10^9
  • 入力は全て整数

Sample Explanation 1

N=4,D=2 N=4,D=2 のとき、すぬけくんは以下のように印をつけていきます。 1. マス 0 0 に印をつける。 2. (1回目) x=(0+2)mod 4=2 x=(0+2)\bmod\ 4=2 と初期化する。マス 2 2 は印がついていないので、印をつける。 (2回目) x=(2+2)mod 4=0 x=(2+2)\bmod\ 4=0 と初期化する。マス 0 0 は印がついているので、x=(0+1)mod 4=1 x=(0+1)\bmod\ 4=1 と更新する。マス 1 1 は印がついていないので、印をつける。 (3回目) x=(1+2)mod 4=3 x=(1+2)\bmod\ 4=3 と初期化する。マス 3 3 は印がついていないので、印をつける。