CF1971H.±1
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Bob 有一个 3 行 n 列的网格,每个格子中包含 ai 或 −ai,其中 1≤i≤n,ai 是某个整数。例如,当 n=4 时,可能的一个网格如下:
a1−a4a1−a2a4a2−a3−a1−a2−a2−a3a4
Alice 和 Bob 玩如下的游戏:
- Bob 向 Alice 展示他的网格。
- Alice 给 Bob 一个数组 a1,a2,⋯,an,其中每个元素都是 −1 或 1。
- Bob 用这些值替换网格中的 ai,使得网格中的每个元素都变为 −1 或 1。
- Bob 对每一列的元素进行非递减排序。
- 如果排序后中间一行的所有元素都是 1,则 Alice 获胜;否则 Bob 获胜。
例如,对于上面的网格,假设 Alice 给出数组 [1,−1,−1,1],则过程如下(为便于理解添加了颜色):
a1−a4a1−a2a4a2−a3−a1−a2−a2−a3a4[1,−1,−1,1]1−1111−11−11111对每一列排序−111−111−111111
由于中间一行全为 1,所以 Alice 获胜。给定 Bob 的网格,判断 Alice 是否可以选择数组 a 使自己获胜。
输入格式
第一行包含一个整数 t(1≤t≤1000),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(2≤n≤500),表示 Bob 的网格的列数。
接下来的三行,每行包含 n 个整数,第 i 个分别为 gi,1,gi,2,…,gi,n(−n≤gi,j≤n,gi,j=0),表示 Bob 的网格。
如果输入中的某个格子为 x>0,则该格子应填入 ax;如果为 x<0,则该格子应填入 −a−x。具体可参考样例输入和说明。
输出格式
对于每个测试用例,如果 Alice 能获胜,输出 YES,否则输出 NO。
你可以用任意大小写输出 YES 和 NO(例如 yEs、yes、Yes 都视为肯定回答)。
输入输出样例
输入#1
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
输出#1
YES NO YES NO
说明/提示
第一个测试用例已在题目描述中给出。
第二个测试用例中,Bob 的网格如下:
a1−a1a2a2−a2−a2
要使最后一列排序后中间一行为 1,Alice 必须选择 a2=−1。但此时无法选择 a1 使得第一列排序后中间一行为 1,因此 Alice 无法获胜。
第三个测试用例中,Alice 可以选择 a=[1,1,1,1,1]。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?