CF1949H.Division Avoidance

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

一种新发现的生物可以表示为无限网格上的一组细胞。网格上有一个坐标系,每个细胞有两个整数坐标 xx 和 yy。坐标为 x=ax=a 且 y=by=b 的细胞记作 (a,b)(a, b)。

最初,生物只包含一个细胞 (0,0)(0, 0)。然后可以进行零次或多次分裂。每次分裂时,会移除一个细胞 (a,b)(a, b),并用两个细胞 (a+1,b)(a+1, b) 和 (a,b+1)(a, b+1) 替换它。

例如,第一次分裂后,生物总是包含两个细胞 (1,0)(1, 0) 和 (0,1)(0, 1);第二次分裂后,生物可能是三个细胞 (2,0)(2, 0)、(1,1)(1, 1) 和 (0,1)(0, 1),或者是三个细胞 (1,0)(1, 0)、(1,1)(1, 1) 和 (0,2)(0, 2)。

只有当 (a+1,b)(a+1, b) 和 (a,b+1)(a, b+1) 这两个细胞还不在生物体内时,才能对 (a,b)(a, b) 进行分裂。例如,如果生物当前包含三个细胞 (1,0)(1, 0)、(1,1)(1, 1) 和 (0,2)(0, 2),则不能对 (1,0)(1, 0) 进行分裂,因为分裂后产生的 (1,1)(1, 1) 已经存在于生物体内。

现在给定一组禁止出现的细胞 $ {(c_i, d_i)} $。是否存在一种分裂方式,使得生物体在若干次分裂后不包含任何禁止出现的细胞?

输入格式

每个测试点包含多个测试用例。第一行包含一个整数 tt(1≤t≤10 0001 \le t \le 10\,000)——表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤1061 \le n \le 10^6)——表示禁止出现的细胞数量。

接下来的 nn 行,每行包含两个整数 cic_i 和 did_i(0≤ci,di≤1090 \le c_i, d_i \le 10^9),表示第 ii 个禁止出现的细胞的坐标。保证所有禁止出现的细胞互不相同。

保证所有测试用例中 nn 的总和不超过 10610^6。

输出格式

对于每个测试用例,如果存在一种分裂方式使得生物体不包含任何禁止出现的细胞,输出 YES\texttt{YES};否则输出 NO\texttt{NO}。

输入输出样例

  • 输入#1

    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

    输出#1

    YES
    NO

说明/提示

在第一个测试用例中,按照如下顺序分裂细胞,可以得到一个不包含任何禁止出现细胞的生物体:(0,0)(0, 0)、(1,0)(1, 0)、(1,1)(1, 1)、(0,1)(0, 1)、(2,1)(2, 1)、(2,2)(2, 2)、(1,2)(1, 2)、(1,1)(1, 1)。下图展示了生物体在此过程中如何变化:

在第二个测试用例中,可以发现,无论如何分裂,生物体总会至少包含一个位于 0≤x,y≤30 \le x, y \le 3 的细胞。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页