P15560 [CCPC 2025 哈尔滨站] 六边形翻转

题目描述

给出两个**无限大**六边形网格图,其中有些格点为黑色,有些格点为白色,如下图所示。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/zzxivwpu.png) ::: 我们用一个三维坐标 $(x,y,z)\ (x,y,z\in\mathbb{Z},x+y+z=0)$ 来描述该网格图中的每个格点,具体如下图所示。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/cff6ey3c.png) ::: 我们可以进行如下图所示的翻转操作,每次选择一个三维坐标 $(x,y,z)\ (x,y,z\in\mathbb{Z},x+y+z=0)$ ,将该坐标周围一圈的格点进行颜色翻转(黑色翻转为白色,白色翻转为黑色),即对格点 $(x,y-1,z+1)$ , $(x+1,y-1,z)$ , $(x+1,y,z-1)$ , $(x,y+1,z-1)$ , $(x-1,y+1,z)$ , $(x-1,y,z+1)$ 进行颜色翻转。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/ehhtwm5b.png) ::: 问能否对第一个六边形网格进行若干次翻转操作,使其每个格点上的颜色均与第二个六边形网格相同。

输入格式

输入第一行包含一个整数 $T$ ($1 \le T \le 100$) ,表示测试数据的组数。 接下来依次输入每组测试数据,对于每组测试数据: 输入第一行包含两个整数 $n,m$ ($0 \le n, m \le 10^5$) ,分别表示两个六边形网格图上黑色格点的数量。 接下来 $n$ 行第 $i$ 行输入三个整数 $x_i,y_i,z_i$ ($-10^9 \le x_i, y_i, w_i \le 10^9, x_i + y_i + z_i = 0$),表示第一个六边形网格图上第 $i$ 个黑点的坐标。 接下来 $m$ 行第 $i$ 行输入三个整数 $u_i,v_i,w_i$ ($-10^9 \le u_i,v_i,w_i \le 10^9, u_i+v_i+w_i = 0$),表示第二个六边形网格图上第 $i$ 个黑点的坐标。 保证所有测试数据的 $\sum n\le 2 \times 10^5,\sum m\le 2 \times 10^5$ 。

输出格式

对于每组测试数据,输出 ``YES`` 如果第一个六边形网格可以进行若干次翻转操作,使其每个格点上的颜色均与第二个六边形网格相同,否则输出 ``NO`` 。你可以以任意形式输出答案(大写或小写),比如 ``yEs``,``yes``, ``Yes`` 和 ``YES`` 都会被认为是肯定的答案。

说明/提示

样例 $1$ 给出的两个格点图即顶部图片的两个格点图。