Олимпиадный тренинг

Задача . B. Деление на группы


На первое собрание кружка по программированию Берляндского ГУ пришли \(n\) студентов (\(n\) — четно). Было решено поделить всех студентов на две группы. У каждой группы будет ровно по одному занятию в неделю в один из будних дней (понедельник, вторник, среда, четверг или пятница), причем дни занятий у каждой группы должны быть разными. Также было решено, что количество студентов в каждой группе должно быть одинаковым.

Каждый из студентов заполнил форму, в которой отметил дни недели, в которые ему было бы удобно посещать занятия.

Перед вами стоит задача определить, возможно ли выбрать два различных будних дня в неделю, в которые будут проходить занятия у каждой из групп, а также поделить всех студентов на две группы таким образом, чтобы каждый из студентов занимался в один из тех дней, в который ему удобно, при этом количество студентов в каждой из групп должно быть одинаковым.

Входные данные

В первой строке записано одно целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных.

Далее следуют описания \(t\) наборов входных данных.

В первой строке каждого набора входных данных записано одно четное целое число \(n\) (\(2 \le n \le 1\,000\)) — количество студентов.

В \(i\)-й из следующих \(n\) строк следует \(5\) целых чисел \(0\) или \(1\), причем \(j\)-е число равно \(1\), если \(i\)-му студенту удобно ходить на занятия в \(j\)-й будний день, или \(j\)-е число равно \(0\), если \(i\)-му студенту неудобно ходить на занятия в \(j\)-й будний день.

Гарантируется, что каждый из студентов хочет ходить на занятия хотя бы в один из будних дней. Гарантируется, что сумма количества студентов по всем наборам входных данных не превосходит \(10^5\).

Выходные данные

На каждый набор входных данных выведите ответ. Если возможно разделить всех студентов на две равные группы и выбрать дни для занятий так, чтобы всем студентам было удобно, выведите «YES» (без кавычек). В противном случае выведите «NO» (без кавычек).

Примечание

В первом наборе входных данных возможно распределить студентов так, чтобы удовлетворить всем описанным условиям. Для этого в одну группу нужно распределить первого и третьего студентов, которые будут заниматься в четверг, то есть в четвертый будний день, а в другую группу — второго и четвертого студентов, которые будут заниматься во вторник, то есть во второй будний день.

Во втором наборе входных данных невозможно разделить студентов на группы так, чтобы группы занимались в разные будние дни.


Примеры
Входные данныеВыходные данные
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

time 4000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя