#CF1949H. 避免分裂
避免分裂
H. 避免分裂
单个测试点时间限制: 秒 单个测试点内存限制: 兆字节
一种新发现的生物可以表示为无限网格上的一组细胞。网格上有坐标系,每个细胞有两个整数坐标 和 。坐标为 的细胞记为 。
初始时,该生物只包含一个细胞 。之后可以发生零次或多次分裂。一次分裂的规则是: 将一个细胞 移除,并用两个细胞 和 代替它。
例如:
- 第一次分裂后,生物一定包含两个细胞 和 。
- 第二次分裂后,生物要么是 ,要么是 。
一个细胞 能进行分裂,当且仅当 和 还不属于该生物。 例如,若生物当前是 ,则 不能分裂,因为分裂产物 已经存在。
给定一组禁止细胞 。 问:是否存在一种分裂方式,使得生物最终不包含任何禁止细胞?
输入格式
输入包含多组测试数据。 第一行一个整数 —— 测试数据组数。
每组测试数据:
- 第一行一个整数 —— 禁止细胞数量。
- 接下来 行,每行两个整数 ,表示第 个禁止细胞。 保证所有禁止细胞互不相同。
保证所有测试数据的 之和不超过 。
输出格式
对于每组测试数据:
- 如果存在一种分裂方式使得生物不包含任何禁止细胞,输出
YES。 - 否则输出
NO。
样例输入
2
4
0 0
1 0
0 1
1 1
16
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
2 2
2 3
3 0
3 1
3 2
3 3
样例输出
YES
NO
样例说明
- 第一个样例:可以通过一系列分裂得到一个完全不含禁止细胞的生物。
- 第二个样例:无论怎么分裂,生物必然会包含 正方形内的某个细胞,因此答案是
NO。