CF1909A.Distinct Buttons

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Distinct Buttons

题目描述

Deemo - Entrance

你位于无限大的笛卡尔平面上的点 (0,0)(0, 0)。你有一个带有 44 个按钮的控制器,每个按钮可以执行以下操作之一:

  • U\texttt{U}:从 (x,y)(x, y) 移动到 (x,y+1)(x, y+1)
  • R\texttt{R}:从 (x,y)(x, y) 移动到 (x+1,y)(x+1, y)
  • D\texttt{D}:从 (x,y)(x, y) 移动到 (x,y1)(x, y-1)
  • L\texttt{L}:从 (x,y)(x, y) 移动到 (x1,y)(x-1, y)

不幸的是,控制器坏了。如果你按下所有 44 个按钮(顺序不限),控制器就会停止工作。也就是说,在整个旅程中,你最多只能按下 33 个不同的按钮(每个按钮可以按任意多次,顺序不限)。

平面上有 nn 个特殊点,坐标均为整数 (xi,yi)(x_i, y_i)

你能否在不损坏控制器的情况下(即只使用至多 33 个不同的按钮)访问所有特殊点(顺序不限)?

输入格式

每个测试点包含多组测试用例。第一行包含测试用例数量 tt1t10001 \le t \le 1000)。接下来是每组测试用例的描述。

每组测试用例的第一行包含一个整数 nn1n1001 \le n \le 100),表示特殊点的数量。

接下来的 nn 行,每行包含两个整数 xi,yix_i, y_i100xi,yi100-100 \leq x_i, y_i \leq 100),表示一个特殊点 (xi,yi)(x_i, y_i)

注意,所有测试用例中 nn 的总和没有额外限制。

输出格式

对于每组测试用例,如果你能在不损坏控制器的情况下访问所有特殊点,输出 "YES"(不带引号),否则输出 "NO"(不带引号)。

你可以用任意大小写输出答案(例如 "YES"、"Yes"、"yes"、"yEs" 都会被识别为正解)。

说明/提示

在第一个测试用例中,你可以按如下方式移动:

  • 你从 (0,0)(0, 0) 出发;
  • 你访问特殊点 (x2,y2)=(0,0)(x_2, y_2) = (0, 0)
  • 你按下 R\texttt{R},从 (0,0)(0, 0) 移动到 (1,0)(1, 0)
  • 你按下 D\texttt{D},从 (1,0)(1, 0) 移动到 (1,1)(1, -1)
  • 你访问特殊点 (x1,y1)=(1,1)(x_1, y_1) = (1, -1)
  • 你访问特殊点 (x3,y3)=(1,1)(x_3, y_3) = (1, -1)

因此,你只使用了 R\texttt{R}D\texttt{D} 两个按钮就访问了所有特殊点,控制器没有损坏。

注意,特殊点可能重合。

在第二个测试用例中,你可以只使用 U\texttt{U}D\texttt{D}L\texttt{L} 三个按钮访问所有特殊点。

在第三个测试用例中,你必须按下所有按钮(U\texttt{U}R\texttt{R}D\texttt{D}L\texttt{L})才能访问所有点,因此控制器会损坏。

由 ChatGPT 4.1 翻译

样例

6
3
1 -1
0 0
1 -1
4
-3 -2
-3 -1
-3 0
-3 1
4
1 1
-1 -1
1 -1
-1 1
6
-4 14
-9 -13
-14 5
14 15
-8 -4
19 9
6
82 64
39 91
3 46
87 83
74 21
7 25
1
100 -100
YES
YES
NO
NO
YES
YES

在线编程 IDE

建议全屏模式获得最佳体验