CF1971H ±1
题目描述
Bob 有一个 $3$ 行 $n$ 列的网格,每个格子中包含 $a_i$ 或 $-a_i$,其中 $1 \leq i \leq n$,$a_i$ 是某个整数。例如,当 $n=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 一个数组 $a_1, a_2, \cdots, a_n$,**其中每个元素都是 $-1$ 或 $1$**。
- Bob 用这些值替换网格中的 $a_i$,使得网格中的每个元素都变为 $-1$ 或 $1$。
- Bob 对每一列的元素进行非递减排序。
- 如果排序后中间一行的所有元素都是 $1$,则 Alice 获胜;否则 Bob 获胜。
例如,对于上面的网格,假设 Alice 给出数组 $[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}
$$
由于中间一行全为 $1$,所以 Alice 获胜。给定 Bob 的网格,判断 Alice 是否可以选择数组 $a$ 使自己获胜。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 1000$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $n$($2 \leq n \leq 500$),表示 Bob 的网格的列数。
接下来的三行,每行包含 $n$ 个整数,第 $i$ 个分别为 $g_{i,1}, g_{i,2}, \dots, g_{i,n}$($-n \leq g_{i,j} \leq n$,$g_{i,j} \neq 0$),表示 Bob 的网格。
如果输入中的某个格子为 $x>0$,则该格子应填入 $a_x$;如果为 $x
输出格式
对于每个测试用例,如果 Alice 能获胜,输出 `YES`,否则输出 `NO`。
你可以用任意大小写输出 `YES` 和 `NO`(例如 `yEs`、`yes`、`Yes` 都视为肯定回答)。
说明/提示
第一个测试用例已在题目描述中给出。
第二个测试用例中,Bob 的网格如下:
$$
\begin{bmatrix}
a_1 & a_2 \\
-a_1 & -a_2 \\
a_2 & -a_2
\end{bmatrix}
$$
要使最后一列排序后中间一行为 $1$,Alice 必须选择 $a_2 = -1$。但此时无法选择 $a_1$ 使得第一列排序后中间一行为 $1$,因此 Alice 无法获胜。
第三个测试用例中,Alice 可以选择 $a = [1,1,1,1,1]$。
由 ChatGPT 4.1 翻译