#1461. 「2020 营员交流」小 ω 的魔方
「2020 营员交流」小 ω 的魔方
题目描述
小 在家里闷得慌,于是开始玩起了魔方。不一会儿,她就变成了甩杜宇生千里的魔方高手。
在长时间的训练中,小 对魔方已经玩腻了,不拘泥于只是还原魔方。于是她开始拆起了魔方。
与众不同的是,别人拆魔方都是拆那 个小块,她却开始拆那 张贴纸。
不一会儿,她就将原来魔方的 张贴纸拆完了,得到一个雪(hei)白(de)雪(fa)白(liang)的魔方。
正巧,小 来到她家做客,看到小 桌上琳琅满目的贴纸,也想自己组装一个魔方。
这些贴纸各不相同,有的画着可爱的猫猫,有的画着蜘蛛侠,有的上面还有小 的***。
已知,桌上有 种黄色贴纸、 种白色贴纸、 种红色贴纸、 种橙色贴纸、 种蓝色贴纸以及 种绿色贴纸。每种颜色的贴纸均有无限多个。
小 对每种贴纸的喜好程度各有不同,具体地,(无视颜色的条件下) 她也将所有贴纸分别为三类:好看的,一般般的以及难看的,她分别将这三种贴纸的好看度定义为 。
我们用 ($C \in \left\{ \texttt Y, \texttt W, \texttt R, \texttt O, \texttt B, \texttt G \right\}, i \in \left\{ -1, 0, 1 \right\} $) 表示颜色为 且好看度为 的贴纸种数,例如, 表示难看的蓝色贴纸的种数。
然后,她将一个魔方的好看度定义为所有 张贴纸的好看度之和。
由于小 不懂魔方,因此她认为:只要使用了每种颜色的贴纸各 张,所得到的就是一个合法的魔方。尽管它可能不满足黄白相对,甚至无法复原,抑或是根本不存在 (比如黄白棱块就是不存在的)。
自然,小 就有很多 "组装" 魔方的方案 ("组装" 即贴贴纸)。她想知道,对于每种最终的好看度 ,有多少种 (本质) 不同的 "组装" 魔方的方案,使得最终的好看度为 呢?
小 瞥了一眼小 的书房,发现小 还有四阶、五阶,乃至 () 阶魔方。于是她想对这些魔方都进行组装 (反正她们待在家里,时间充裕),于是你也需要帮她对这些高阶魔方进行回答。
当然,对于 阶魔方,上面的参数也需要进行更改。具体地,你需要将上文中的 分别替换为 ,特别地,当 时将它们替换为 。
注意:如果两种方案可以在三维空间中旋转整个魔方而全等,则认为这两种方案是 (本质) 相同的。注意小 和小 生活在三维空间中,因此它们不能对魔方进行镜像。
两个方案全等,当且仅当每个位置上使用的贴纸种类相同,注意一种贴纸可以使用多次,你不需要关心贴纸的朝向问题,即不妨假设贴纸上的图案是完全对称的。
输入格式
第一行包含两个正整数 ,分别表示魔方的阶数以及输出控制参数。输出控制参数的具体含义将在「输出格式」中解释。
第二行包含三个非负整数 ,分别表示难看的,一般般的,好看的黄色贴纸的种数。
第三行包含三个非负整数 ,意义同上。
第四行包含三个非负整数 ,意义同上。
第五行包含三个非负整数 ,意义同上。
第六行包含三个非负整数 ,意义同上。
第七行包含三个非负整数 ,意义同上。
输出格式
容易得到,最终魔方的好看度的取值范围为 中的一个整数。我们保证 是一个不超过 的正奇数。
具体地,你只需要输出一行,包含 个整数,其中第 () 个整数表示所有满足 且 的答案 (即好看度为 的方案数) 模 后的异或和。
注意:设置 仅仅是为了减少输出量大小,标准算法不依赖于 的取值。
样例 1
1 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
30
特别地,一阶魔方无法进行 (除了整体外的) 旋转,于是它只是一个用于观赏的立方体。
所有颜色的贴纸只有一种,因此最终魔方的好看度一定为 。这 种不同的魔方如下图 (用展开图表示):
1 13
1 2 3
4 5 6
7 8 9
8 7 6
5 4 3
0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
没有绿色贴纸,故无法组装成魔方。
2 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
940906141
精确的答案是 $135277941853080 = 2^3 \cdot 3^2 \cdot 5 \cdot 13 \cdot 131 \cdot 220653001$。
2 49
0 3 1
4 1 0
0 5 9
2 6 0
0 5 3
5 8 0
0 0 0 0 0 0 0 0 0 0 0 0 544749501 63051590 218701224 413209526 327036606 45871124 278106738 7308476 883834532 409278631 11668780 265789093 928895648 709317318 640274261 565809249 497467741 298018595 559073055 546178223 415655107 865831011 530349718 975815643 473116100 0 0 0 0 0 0 0 0 0 0 0 0
2 7
0 3 1
4 1 0
0 5 9
2 6 0
0 5 3
5 8 0
853739401 367219837 1039890180 359147035 571647095 900068407 155830037
该组样例为样例四的 "压缩" 后版本,因为避免过大的输出,常常会设置一个压缩系数。在本例是,七个数分别代表 这七个同余类。
如,输出的第五个数就表示所有好看度 的方案数的异或和,即有 $571647095 = 0 \oplus 0 \oplus 278106738 \oplus 709317318 \oplus 415655107 \oplus 0 \oplus 0$。
36 13
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
656572069 316067026 492665298 350073114 109939730 141830812 721782114 395247388 823354680 250237378 268736953 334191590 721990568
样例 7
见附加文件中的 ex_rubik7.in
与 ex_rubik7.out
。
该组样例满足子任务 的性质。
数据范围与提示
对于所有的测试点,均满足 $1 \leq n \leq 1000; 1 \leq P \leq \min \left\{ 12 n^2 + 1, 200467 \right\}; 0 \leq Y_{-1}, Y_0, Y_1, \cdots, G_{-1}, G_0, G_1 \leq 10^9 + 6$,且 为奇数。
具体的子任务的数据规模见下表:
子任务 | 分值 | 其它性质 | |
---|---|---|---|
1 | S |
||
2 | D |
||
3 | 无 | ||
4 | S |
||
5 | D |
||
6 | 无 | ||
7 | S |
||
8 | D |
||
9 | 无 | ||
10 | S |
||
11 | D |
||
12 | M |
||
13 | 无 | ||
14 | S |
||
15 | D |
||
16 | M |
||
17 | 无 | ||
18 | S |
||
19 | D |
||
20 | M |
||
21 | 无 | ||
22 | 且 |
S |
|
23 | D |
||
24 | M |
||
25 | 无 | ||
26 | S |
||
27 | D |
||
28 | M |
||
29 | 无 |
表中“其它性质”一栏,变量的含义如下:
S
(single):对于所有颜色 ,保证 。D
(double):对于所有颜色 ,保证 。M
(monic):对于所有颜色 ,保证 。