CF1928C Physical Education Lesson
题目描述
在一所著名学校里,进行了一节体育课。像往常一样,所有人排成一列,并被要求按照“第 $1$ 到第 $k$ 位”的方式站队。
众所周知,按照“第 $1$ 到第 $k$ 位”站队的规则如下:前 $k$ 个人的编号为 $1, 2, 3, \ldots, k$,接下来的 $k-2$ 个人的编号为 $k-1, k-2, \ldots, 2$,再接下来的 $k$ 个人的编号为 $1, 2, 3, \ldots, k$,如此循环。因此,这种站队方式每 $2k-2$ 个位置循环一次。相关示例请见“提示”部分。
小男孩 Vasya 总是健忘。例如,他忘记了上述的 $k$ 值。但他记得自己在队伍中的位置 $n$,以及在站队时分配到的编号 $x$。请你帮助 Vasya 计算,有多少个不同的自然数 $k$ 满足这些条件。
注意,只有当 $k > 1$ 时,这种站队方式才存在。特别地,这意味着当 $k = 1$ 时不存在这种站队方式。
输入格式
每组测试数据包含多个测试用例。第一行包含一个整数 $t$($1 \leq t \leq 100$),表示测试用例的数量。接下来每个测试用例占一行,每行包含两个整数 $n$ 和 $x$($1 \leq x < n \leq 10^9$),分别表示 Vasya 在队伍中的位置和他分配到的编号。
输出格式
对于每个测试用例,输出一个整数,表示有多少个不同的 $k$ 满足题目条件。
可以证明,在给定的约束下,答案是有限的。
说明/提示
在第一个测试用例中,$k$ 等于 $2, 3, 5, 6$ 都是可行的。
这些 $k$ 的站队示例如下:
$k$ / 位置 $1$ $2$ $3$ $4$ $5$ $6$ $7$ $8$ $9$ $10$
$2$:$1$ $2$ $1$ $2$ $1$ $2$ $1$ $2$ $1$ $2$
$3$:$1$ $2$ $3$ $2$ $1$ $2$ $3$ $2$ $1$ $2$
$5$:$1$ $2$ $3$ $4$ $5$ $4$ $3$ $2$ $1$ $2$
$6$:$1$ $2$ $3$ $4$ $5$ $6$ $5$ $4$ $3$ $2$
在第二个测试用例中,$k = 2$ 是可行的。
由 ChatGPT 4.1 翻译