#CF1971H. ±1

    ID: 6899 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>2-sat深度优先搜索图论CodeforcesCodeforces Round 944(Div4)Div4HCF1971H2100

±1

题目描述

Bob 有一个 33nn 列的网格,每个格子中包含 aia_iai-a_i,其中 1in1 \leq i \leq naia_i 是某个整数。例如,当 n=4n=4 时,可能的一个网格如下:

$$\begin{bmatrix} a_1 & -a_2 & -a_3 & -a_2 \\ -a_4 & a_4 & -a_1 & -a_3 \\ a_1 & a_2 & -a_2 & a_4 \end{bmatrix}$$

Alice 和 Bob 玩如下的游戏:

  • Bob 向 Alice 展示他的网格。
  • Alice 给 Bob 一个数组 a1,a2,,ana_1, a_2, \cdots, a_n其中每个元素都是 1-111
  • Bob 用这些值替换网格中的 aia_i,使得网格中的每个元素都变为 1-111
  • Bob 对每一列的元素进行非递减排序。
  • 如果排序后中间一行的所有元素都是 11,则 Alice 获胜;否则 Bob 获胜。

例如,对于上面的网格,假设 Alice 给出数组 [1,1,1,1][1, -1, -1, 1],则过程如下(为便于理解添加了颜色):

$$\begin{bmatrix} \color{red}{a_1} & \color{green}{-a_2} & \color{blue}{-a_3} & \color{green}{-a_2} \\ -a_4 & a_4 & \color{red}{-a_1} & \color{blue}{-a_3} \\ \color{red}{a_1} & \color{green}{a_2} & \color{green}{-a_2} & a_4 \end{bmatrix} \xrightarrow{[\color{red}{1},\color{green}{-1},\color{blue}{-1},1]} \begin{bmatrix} \color{red}{1} & \color{green}{1} & \color{blue}{1} & \color{green}{1} \\ -1 & 1 & \color{red}{-1} & \color{blue}{1} \\ \color{red}{1} & \color{green}{-1} & \color{green}{1} & 1 \end{bmatrix} \xrightarrow{\text{对每一列排序}} \begin{bmatrix} -1 & -1 & -1 & 1 \\ \mathbf{1} & \mathbf{1} & \mathbf{1} & \mathbf{1} \\ 1 & 1 & 1 & 1 \\ \end{bmatrix}$$

由于中间一行全为 11,所以 Alice 获胜。给定 Bob 的网格,判断 Alice 是否可以选择数组 aa 使自己获胜。

输入格式

第一行包含一个整数 tt1t10001 \leq t \leq 1000),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn2n5002 \leq n \leq 500),表示 Bob 的网格的列数。

接下来的三行,每行包含 nn 个整数,第 ii 个分别为 gi,1,gi,2,,gi,ng_{i,1}, g_{i,2}, \dots, g_{i,n}ngi,jn-n \leq g_{i,j} \leq ngi,j0g_{i,j} \neq 0),表示 Bob 的网格。

如果输入中的某个格子为 x>0x>0,则该格子应填入 axa_x;如果为 x<0x<0,则该格子应填入 ax-a_{-x}。具体可参考样例输入和说明。

输出格式

对于每个测试用例,如果 Alice 能获胜,输出 YES,否则输出 NO

你可以用任意大小写输出 YESNO(例如 yEsyesYes 都视为肯定回答)。

样例

4
4
1 -2 -3 -2
-4 4 -1 -3
1 2 -2 4
2
1 2
-1 -2
2 -2
5
1 2 3 4 5
-2 3 -4 -5 -1
3 -5 1 2 2
6
1 3 -6 2 5 2
1 3 -2 -3 -6 -5
-2 -1 -3 2 3 1
YES
NO
YES
NO

样例说明

第一个测试用例已在题目描述中给出。

第二个测试用例中,Bob 的网格如下:

$$\begin{bmatrix} a_1 & a_2 \\ -a_1 & -a_2 \\ a_2 & -a_2 \end{bmatrix}$$

要使最后一列排序后中间一行为 11,Alice 必须选择 a2=1a_2 = -1。但此时无法选择 a1a_1 使得第一列排序后中间一行为 11,因此 Alice 无法获胜。

第三个测试用例中,Alice 可以选择 a=[1,1,1,1,1]a = [1,1,1,1,1]

由 ChatGPT 4.1 翻译

来源

Codeforces 1971H,英文题名 ±1。