#P5614. [MtOI2019] 膜Siyuan

    ID: 6318 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>数学2019洛谷原创O2优化枚举洛谷月赛

[MtOI2019] 膜Siyuan

背景

你强归你强,Siyuan\mathsf S\mathsf{\color{red} iyuan} 比你强。——Siyuan\mathsf S \mathsf{\color{red} iyuan}

disangan233 最近发现了一款 OIer 们的游戏:膜 Siyuan\color{black} \mathsf S \mathsf{\color{red} iyuan}。

他被里面的「真理 IV」所困惑,于是他找到了你寻求帮助。

题目描述

给你 11 个正整数 MM,n(n≤5)n(n\leq 5) 个正整数 33 元组 {ai,bi,ci}(ai,bi,ci≤M≤2000)\{a_i,b_i,c_i\}(a_i,b_i,c_i\leq M\leq 2000),请你求出所有满足

$$\forall i\leq n ,s.t.~|a_i-x|\oplus |b_i-y|\oplus |c_i-z| = 9$$

的有序正整数 33 元组 {x,y,z}(x,y,z≤M)\{x,y,z\}(x,y,z \leq M)的个数。

其中,∀\forall 表示 "对于所有",s.t.s.t. 表示 "使得",A⊕B⊕CA \oplus B \oplus C 表示 A,B,CA,B,C 的异或和。

对于 C++,A^B^C 或 A xor B xor C 即为 A⊕B⊕CA \oplus B \oplus C 的答案 。

这里提供一份模板:

if ((a ^ b ^ c) == 9) 
{
	Your code here...
}

对于 22 个有序 33 元组 A,BA,B,如果 xA≠xBx_A \not =x_B 或 yA≠yBy_A \not =y_B 或 zA≠zBz_A \not =z_B,A,BA,B 即被视为是不同的。

输入格式

共 n+1n+1 行。

第 11 行输入 22 个正整数 nn,MM。

接下来 nn 行第 ii 行输入 33 个正整数 ai,bi,cia_i,b_i,c_i。

输出格式

共 11 行,输出 11 个非负整数表示所求答案。

5 200
21 84 198
38 47 102
44 47 132 
63 150 166
76 79 132
4

提示

样例解释 11

所有满足条件的 {x,y,z}\{x,y,z\} 有:

{88,88,120}\{88,88,120\},{88,104,104}\{88,104,104\},{120,120,120}\{120,120,120\} 和 {120,136,104}\{120,136,104\}。

共 44 个。

子任务

对于 10%10\% 的数据,保证与样例完全一致。

对于 60%60\% 的数据,保证 M≤200M\leq 200。

对于所有数据,保证 ai,bi,ci≤M≤2000a_i,b_i,c_i\leq M\leq 2000,n≤5n\leq 5。

题目来源

MtOI2019 Extra Round T2

出题人:disangan233

验题人:Studying Father