T174024 Impossible Game

题目背景

4b 和小 M 在玩游戏。

题目描述

这个游戏在一个数轴上进行,其中初始点位于 $0$ ,终点位于 $1000$。每回合其中一个人可以从点 $x$ 走 $y$ 步,走到点 $x+y$。其中 $x$,$y$ 均为整数。开始时,4b 和小 M 都位于初始点 $0$ 上,接下来两人轮流进行移动。 定义一个变量 $k$ 表示上一回合对手移动的步数,假设第一回合 $k=1$,则当前回合所走的步数不大于 $2k$。若一人移到坐标 $x$ 上,那么他就可以获得 $x$ 分。 两人轮流移动,若 4b 和小 M 分别移动一次为一轮,那么如果一轮结束后有任意一人到达了终点(即坐标大于等于 $1000$),或 $k=0$,则结束游戏。 现在 4b 先移动,如果**任意一轮**结束时,4b 的分数大于小 M,则 4b 获胜。若游戏已经结束 4b 仍然没有获胜,那么小 M 获胜。请帮助 4b 赢得游戏。 你通过超能力预知了小 M 的每一轮移动方式,给定 3 个整数 $a,b,p$,则小 M 的当前回合移动步数可由以下程序生成。 ```c typedef long long ll; ll ksm(ll a,ll b,ll mod) { //快速幂,a的b次方对mod取余 ll ans=1; while(b) { if(b&1) ans=(ans*a)%mod; a=(a*a)%mod; b>>=1; } return ans%mod; } ll Move(ll a,ll b,ll p,ll i,ll k) { ll x=(ksm(a,i,p)+b)%p; return (x|k)&(2*k); } ``` 用式子表达,令 $x=(a^i+b) \bmod p$ , 则步数为 $(x|k)\&(2k)$。 ( $|$ 和 $\&$ 分别为按位与和按位或) 其中 $a,b,p$ 为输入给定的数,$i$ 为轮数,$k$ 含义同上,表示上一回合对手移动的步数。容易证明小 M 每轮移动的步数不大于 $2k$,因此不会违反规则。

输入格式

一行三个整数 $a,b,p$。

输出格式

输出一行 $n$ 个整数,其中 $n$ 为游戏进行的轮数。 第 $i$ 个整数为第 $i$ 轮 4b 走的步数。

说明/提示

#### 样例说明 第一轮: 4b 最多可以移动 $1\times 2=2$ 步 4b 移动 1 步至坐标 1 。总得分 1 分。 由 Move(2,4,100,1,1) 获得小 M 移动 2 步至坐标 2。总得分 2 分。 第二轮: 4b 最多可以移动 $2\times 2=4$ 步 4b 移动 3 步至坐标 4 。总得分 5 分。 由 Move(2,4,100,2,3) 获得小 M 移动 2 步至坐标 4。总得分 6 分。 第三轮: 4b 最多可以移动 $2\times 2=4$ 步 4b 移动 2 步至坐标 6 。总得分 11 分。 由 Move(2,4,100,3,2) 获得小 M 移动 4 步至坐标 8。总得分 14 分。 第四轮: 4b 最多可以移动 $4\times 2=8$ 步 4b 移动 7 步至坐标 13 。总得分 24 分。 由 Move(2,4,100,4,7) 获得小 M 移动 6 步至坐标 14。总得分 28 分。 第五轮: 4b 最多可以移动 $6\times 2=12$ 步 4b 移动 10 步至坐标 23 。总得分 47 分。 由 Move(2,4,100,5,10) 获得小 M 移动 4 步至坐标 18。总得分 46 分。 此时 4b 得分大于小 M ,游戏结束,4b 获得胜利。 (答案不唯一) #### 数据范围 对于 $100\%$ 的数据, $1 \le a,b,p \leq 10^9$。 #### 提示 * 可以发现,对于任意一种 4b 的移动,小 M 的移动方式可由题目描述中的程序确定,游戏的胜负也被确定。 * 由于答案不唯一,你可以输出任意一种可行的走法。 * 请保证你的每轮移动没有违反规则,否则同样无法通过此题。