CF1598B.Groups

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

Groups

题目描述

nn 名学生参加了 Berland SU 编程课程的第一次会议(nn 是偶数)。所有学生将被分成两组。每组每周将在五个工作日中的一天上课(周一、周二、周三、周四和周五),且两组选择的上课日必须不同。此外,两组的人数必须相等。

每位学生都填写了一份调查问卷,说明了他们在一周中哪些天方便上课,哪些天不方便。

你的任务是判断是否可以选择两个不同的工作日为两组安排上课,并将学生分成两组,使得每组人数相等,并且对于每个学生,其所在组的上课日对他来说是方便的。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

接下来是 tt 个测试用例的描述。

每个测试用例的第一行包含一个整数 nn2n10002 \le n \le 1000),表示学生人数。

接下来的 nn 行,每行包含 55 个整数,每个整数为 0011。如果第 jj 个整数为 11,则第 ii 个学生可以在一周的第 jj 天上课;如果为 00,则不可以。

输入的额外约束:对于每个学生,至少有一天是方便的。所有测试用例中学生总数不超过 10510^5

输出格式

对于每个测试用例,输出一行答案。如果可以将学生分成两组且满足所有条件,输出 "YES"(不含引号);否则输出 "NO"(不含引号)。

说明/提示

在第一个测试用例中,有一种方式可以满足所有条件。例如,第一组可以由第 1 个和第 3 个学生组成,他们在周四(第 4 天)上课;第二组可以由第 2 个和第 4 个学生组成,他们在周二(第 2 天)上课。

在第二个测试用例中,不可能将学生分组使得他们在不同的天上课。

由 ChatGPT 4.1 翻译

样例

2
4
1 0 0 1 0
0 1 0 0 1
0 0 0 1 0
0 1 0 1 0
2
0 0 0 1 0
0 0 0 1 0
YES
NO

在线编程 IDE

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