高质量好题:ARC118D
完全想偏了
如果打算去根据建出来的图来找性质,那这题基本上就没法做了。
如果有解,考虑到对于一个数\(x\) ,它必然可以被表示成 \(a^{i}b^{j}\) 的形式。
那么我们令 \(i\in[0,n), j\in [0,m)\) ,满足 \(a^{n}=1\) , \(b^{j}\not = a^{i}\) 。
可以发现对于这 \(n\times m\) 个数,它们都是互不相同的。
证明:
如果存在 \(a^{i_{1}}b^{j_{1}}=a^{i_{2}}b^{j_2},i_{1}>i_{2},j_{1}<j_{2}\) ,那么就有 \(a^{i_{1}-i_{2}}=b^{j_{2}-j_{1}}\),与\(b^{j}\not = a^{i}\) 矛盾。
那么可以发现,当且仅当 \(n\times m = P-1\) 的时候,才有可能有解。
那么题目就转换成了一个 \(n\times m\) 的网格,每次只能向右或者向下走,并且在边界处会走回开头( \((n-1,0)\rightarrow (0,0),(0,m-1)\rightarrow (0,0)\))
首先 \(n,m=1\) 的时候可以特判,不赘述了。
可以发现如果 \(n\) 是偶数,就可以先从 \((0,0)\) 走到 \((0,m)\) ,然后再从 \((0,m)\) 走到 \((1,0)\) ,最后再从 \((n-1,0)\) 往下走一位走回到 \((0,0)\)
否则,可以交换 \(a,b\) ,新得到的 \(n'\) 一定是偶数。
证明:
设 \(a=g^{A},b=g^{B}\) ,那么 \(A,B\) 中一定有一个数是奇数,否则无法表示出 \(g^{2k+1}\) , 也就是 \(\frac{P-1}{A},\frac{P-1}{B}\) 中一定有一个是偶数。
剩下的就是代码模拟上述过程了。