CF1487B Cat Cycle
题目描述
假设你和两只猫 A 和 B 一起生活。有 $n$ 个猫咪常用的午睡地点。
你的猫喜欢睡觉,也喜欢这些地点,因此它们每小时会按顺序轮流更换午睡地点:
- 猫 A 更换午睡地点的顺序为:$n, n-1, n-2, \dots, 3, 2, 1, n, n-1, \dots$。也就是说,第一小时在第 $n$ 号地点,然后按递减顺序循环移动;
- 猫 B 更换午睡地点的顺序为:$1, 2, 3, \dots, n-1, n, 1, 2, \dots$。也就是说,第一小时在第 $1$ 号地点,然后按递增顺序循环移动。
猫 B 年纪更小,因此有严格的等级制度:A 和 B 不会一起睡在同一个地点。换句话说,如果两只猫都想去第 $x$ 号地点,那么 A 会占据这个位置,B 则会按照自己的顺序移动到下一个位置(如果 $x < n$,则去 $x+1$,如果 $x = n$,则去 $1$)。猫 B 会继续按照自己的顺序前进,不会回到被跳过的位置,而是继续移动到 $x+2$,以此类推。
请计算,在第 $k$ 小时,猫 B 会在哪个地点睡觉?
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例包含一行两个整数 $n$ 和 $k$($2 \le n \le 10^9$;$1 \le k \le 10^9$),分别表示地点数和第 $k$ 小时。
输出格式
对于每个测试用例,输出一个整数,表示第 $k$ 小时猫 B 所在的地点编号。
说明/提示
在第一个和第二个测试用例中,$n=2$,所以:
- 第 $1$ 小时,A 在 $2$ 号地点,B 在 $1$ 号地点;
- 第 $2$ 小时,A 移动到 $1$ 号地点,B 移动到 $2$ 号地点。
如果 $n=3$,则:
- 第 $1$ 小时,A 在 $3$ 号地点,B 在 $1$ 号地点;
- 第 $2$ 小时,A 移动到 $2$ 号地点;B 想从 $1$ 移动到 $2$,但该地点被占据,所以移动到 $3$;
- 第 $3$ 小时,A 移动到 $1$ 号地点;B 也想从 $3$ 移动到 $1$,但该地点被占据,所以移动到 $2$。
在第六个测试用例中:
- A 每小时所在的位置为 $[5, 4, 3, 2, 1]$;
- B 每小时所在的位置为 $[1, 2, 4, 5, 2]$。
由 ChatGPT 4.1 翻译