AT_arc118_d [ARC118D] Hamiltonian Cycle
题目描述
给定素数 $P$ 以及正整数 $a,\ b$。请判断是否存在一个长度为 $P$ 的整数序列 $A = (A_1, A_2, \ldots, A_P)$,满足以下所有条件。如果存在,请输出其中一个满足条件的序列。
- $1 \leq A_i \leq P-1$
- $A_1 = A_P = 1$
- $(A_1, A_2, \ldots, A_{P-1})$ 是 $(1, 2, \ldots, P-1)$ 的一个排列
- 对于任意 $2 \leq i \leq P$,下列四个条件至少有一个成立:
- $A_i \equiv aA_{i-1} \pmod{P}$
- $A_{i-1} \equiv aA_i \pmod{P}$
- $A_i \equiv bA_{i-1} \pmod{P}$
- $A_{i-1} \equiv bA_i \pmod{P}$
输入格式
输入从标准输入读入,格式如下:
> $P$ $a$ $b$
输出格式
如果存在满足条件的整数序列 $A$,输出 `Yes`,否则输出 `No`。如果输出 `Yes`,第二行输出该整数序列 $A$ 的各个元素,空格分隔。
> $A_1\ A_2\ \ldots\ A_P$
如果存在多个满足条件的序列,输出任意一个均可。
说明/提示
### 数据范围
- $2 \leq P \leq 10^5$
- $P$ 是素数
- $1 \leq a, b \leq P-1$
### 样例解释 1
以 $P=13$ 为例,满足以下条件:
- $A_2 \equiv 5A_1$
- $A_2 \equiv 4A_3$
- $\vdots$
- $A_{13} \equiv 4A_{12}$
可以确认该整数序列满足所有条件。
由 ChatGPT 4.1 翻译