#arc133f. [arc133_f]Random Transition
[arc133_f]Random Transition
题目描述
给定整数 。
Snuke 将执行以下过程。
- 令变量 初始化为介于 和 之间的随机整数(包括边界)。对于每个 ,以概率 选择 。
- 重复执行以下操作 次。
- 以概率 ,将 的值减 ;以概率 ,将其增加 。(注意,在操作后, 仍然在 和 之间。)
对于每个 ,计算在过程结束后 的概率,模 。
模 的概率定义:
可以证明所求的概率始终是有理数。此外,在问题的限制条件下,当将它们表示为既约分数 时,可以证明 。因此,唯一存在一个整数 ,使得 $R \\times Q \\equiv P \\pmod{998244353}, 0 \\leq R < 998244353$。输出该 。
约束条件
- 输入的所有值都是整数。
输入
输入以以下格式从标准输入给出:
输出
对于每个 ,输出在过程结束后 的概率,模 。
示例输入1
2 1
0 1000000000 0
示例输出1
499122177 0 499122177
首先, 总是初始化为 。在后续操作中,以概率 将 的值减小 ,以概率 将其增加 。最终,当 、 和 时,概率分别为 。
示例输入2
4 2
200000000 200000000 200000000 200000000 200000000
示例输出2
723727156 598946612 349385524 598946612 723727156
示例输入3
10 100
21265166 263511538 35931763 26849698 108140810 134702248 36774526 147099145 58335759 4118743 163270604
示例输出3
505314898 24510700 872096939 107940764 808162829 831195162 314651262 535843032 665830283 627881537 696038713