AT_arc127_f [ARC127F] ±AB
题目描述
给定整数 $A,B,V,M$。其中,保证 $A$ 和 $B$ 互质。你有一个整数 $x$,初始时 $x=V$。
你可以以任意顺序、任意次数重复以下 $4$ 种操作:
- 将 $x$ 替换为 $x+A$。
- 将 $x$ 替换为 $x-A$。
- 将 $x$ 替换为 $x+B$。
- 将 $x$ 替换为 $x-B$。
但无论何时,都必须满足 $0 \leq x \leq M$。
在上述条件下,求 $x$ 可能取到的不同值有多少种。
对于每个输入文件,需要解答 $T$ 个测试用例。
输入格式
输入通过标准输入给出,格式如下:
> $T$
> $case_1$
> $case_2$
> $\vdots$
> $case_T$
每个测试用例如下格式:
> $A\ B\ V\ M$
输出格式
对于每个测试用例,输出一个答案。
说明/提示
### 约束条件
- $1 \leq T \leq 10^5$
- $1 \leq A < B \leq M \leq 10^9$
- $A$ 和 $B$ 互质。
- $0 \leq V \leq M$
- 输入的所有值均为整数。
### 样例解释 1
对于第 $1$ 个测试用例,$x$ 可能为 $0,2,3,5$,共 $4$ 种不同的值。
由 ChatGPT 4.1 翻译