样例输入 1
样例输出 1
样例解释 1
,故此组数据中由状态和传球方法得出的传球结果即为二者二进制按位异或的结果。
下面是详细说明:
对应的数列是 ,对应的状态是:两组的球都在组内 号学生手中;
对应的数列是 ,对应的状态是:第 组的球都在组内 号学生手中,第 组的球在组内 号学生手中;
对应的数列是 ,对应的状态是:第 组的球都在组内 号学生手中,第 组的球在组内 号学生手中;
对应的数列是 ,对应的状态是:两组的球都在组内 号学生手中。
开始时, 到 对应的状态的概率依次为:。
第一轮传球时,生成数列 的概率为 ,若生成了 ,且当前状态为 (即两组的球都在 号学生手中),那么,计算传球情况的过程如下:
- 已知,当前状态每组持球学生的编号数列 为 ,生成的传球数列 也是 ;求传球后的每组持球学生编号数列 。
- 传球方法表 。
- 则对于任意 有 ,具体地,。
那么,传球后每组持球学生编号依次为 ,对应的数为 。
我们再看一组:第一轮传球时,生成数列 的概率为 ,若生成了 ,且当前状态为 (即两组的球都在 号学生手中),那么:
当前状态每组持球学生的编号数列 为 ,生成的传球数列 是 ,可以计算出传球后的每组持球学生编号数列 为:。
那么,传球后每组持球学生编号依次为 ,对应的数为 。
以下是所有可能的情况:(行表示传球前状态,列表示传球数列,格内为传球结果,以「状态,概率」格式表示)
# |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最终, 到 对应的状态的概率依次为:,又 ,故分别乘 即得输出。
样例输入 2
3 2 2
0 1
1 0
1 2 1 2 1 0 0 3
样例输出 2
118
134
118
134
130
114
102
150
样例解释 2
最开始 到 对应的状态的概率依次为:;
传球一轮后的概率依次为:;
传球两轮后的概率依次为:。
样例输入 3
3 3 1000000000000000000
0 1 0
1 0 1
0 1 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
样例输出 3
213274696
208936145
25902863
95562855
217079278
63925718
106613073
183344989
8375316
32956358
199136079
5516750
230547873
170961061
216818160
114420143
15437393
149522201
77102517
62329524
215121795
51813646
230286755
91113233
13573868
80597355
39406187