CF1119H.Triple
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You have received your birthday gifts — n triples of integers! The i -th of them is {ai,bi,ci} . All numbers are greater than or equal to 0 , and strictly smaller than 2k , where k is a fixed integer.
One day, you felt tired playing with triples. So you came up with three new integers x , y , z , and then formed n arrays. The i -th array consists of ai repeated x times, bi repeated y times and ci repeated z times. Thus, each array has length (x+y+z) .
You want to choose exactly one integer from each array such that the XOR (bitwise exclusive or) of them is equal to t . Output the number of ways to choose the numbers for each t between 0 and 2k−1 , inclusive, modulo 998244353 .
输入格式
The first line contains two integers n and k ( 1≤n≤105 , 1≤k≤17 ) — the number of arrays and the binary length of all numbers.
The second line contains three integers x , y , z ( 0≤x,y,z≤109 ) — the integers you chose.
Then n lines follow. The i -th of them contains three integers ai , bi and ci ( 0≤ai,bi,ci≤2k−1 ) — the integers forming the i -th array.
输出格式
Print a single line containing 2k integers. The i -th of them should be the number of ways to choose exactly one integer from each array so that their XOR is equal to t=i−1 modulo 998244353 .
输入输出样例
输入#1
1 1 1 2 3 1 0 1
输出#1
2 4
输入#2
2 2 1 2 1 0 1 2 1 2 3
输出#2
4 2 4 6
输入#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
说明/提示
In the first example, the array we formed is (1,0,0,1,1,1) , we have two choices to get 0 as the XOR and four choices to get 1 .
In the second example, two arrays are (0,1,1,2) and (1,2,2,3) . There are sixteen (4⋅4) choices in total, 4 of them ( 1⊕1 and 2⊕2 , two options for each) give 0 , 2 of them ( 0⊕1 and 2⊕3 ) give 1 , 4 of them ( 0⊕2 and 1⊕3 , two options for each) give 2 , and finally 6 of them ( 0⊕3 , 2⊕1 and four options for 1⊕2 ) give 3 .