#P13946. CF1119H Triple
CF1119H Triple
CF1119H Triple
题目描述
你收到了生日礼物—— 个整数三元组!第 个三元组为 。所有数字都大于等于 ,且严格小于 ,其中 是一个固定的整数。
有一天,你玩三元组玩累了,于是你想出了三个新整数 、、,然后构造了 个数组。第 个数组由 重复 次、 重复 次、 重复 次组成。因此,每个数组的长度为 。
你想从每个数组中恰好选出一个整数,使得它们的异或和(按位异或)等于 。请输出对于每个 从 到 ,恰好选出一个数使异或和为 的方案数,结果对 取模。
输入格式
第一行包含两个整数 和 (,)——数组的个数和所有数字的二进制长度。
第二行包含三个整数 、、()——你选择的整数。
接下来 行,每行包含三个整数 、、()——构成第 个数组的整数。
输出格式
输出一行共 个整数。第 个数表示恰好选出一个数使异或和为 的方案数,对 取模。
输入输出样例 #1
输入 #1
1 1
1 2 3
1 0 1
输出 #1
2 4
输入输出样例 #2
输入 #2
2 2
1 2 1
0 1 2
1 2 3
输出 #2
4 2 4 6
输入输出样例 #3
输入 #3
4 3
1 2 3
1 3 7
0 2 5
1 0 6
3 3 2
输出 #3
198 198 126 126 126 126 198 198
说明/提示
在第一个样例中,构造出的数组为 ,有两种方式使异或和为 ,有四种方式使异或和为 。
在第二个样例中,两个数组分别为 和 。一共有十六种选择(),其中 种( 和 ,每种各有两种方式)异或和为 , 种( 和 )异或和为 , 种( 和 ,每种各有两种方式)异或和为 ,最后 种(、 以及 的四种方式)异或和为 。
由 ChatGPT 4.1 翻译