AT_arc166_f [ARC166F] Tangent Addition Formula
题目描述
给定素数 $p$ 以及非负整数 $a,\ b$。
请判断是否存在一个长度为无穷的非负整数序列 $t = (t(0),\ t(1),\ t(2),\ \ldots)$,使其满足以下所有条件:
- 对任意非负整数 $x$,都有 $0 \leq t(x) < p$。
- 对任意非负整数 $x,\ y$,都有 $t(x+y)\bigl(1-t(x)t(y)\bigr)\equiv t(x)+t(y)\pmod{p}$。
- $t(a) = b$。
给定 $T$ 组测试数据,请分别回答每组数据是否存在满足条件的非负整数序列 $t$。
输入格式
输入以以下格式从标准输入给出。
> $T$
> $\text{case}_1$
> $\vdots$
> $\text{case}_T$
每组测试数据格式如下:
> $p\ a\ b$
输出格式
请输出 $T$ 行,第 $i$ 行输出第 $i$ 组测试数据的答案。如果存在满足条件的非负整数序列 $t$,输出 `Yes`,否则输出 `No`。
说明/提示
### 限制
- $1 \leq T \leq 2 \times 10^5$
- $p$ 是满足 $1 \leq p \leq 10^9$ 的素数。
- $0 \leq a \leq 10^{9}$
- $0 \leq b < p$
### 样例解释 1
- 当 $p=11,\ a=1,\ b=0$ 时:常数序列 $t = (0,0,0,0,\ldots)$ 满足条件。
- 当 $p=11,\ a=1,\ b=5$ 时:周期为 $3$ 的数列 $t = (0,5,6,0,5,6,\ldots)$ 满足条件。
由 ChatGPT 4.1 翻译