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

Задача . B. Переключатели и лампы


Задача

Темы: реализация *1200

Заданы n переключателей и m ламп. i-й переключатель включает некоторый поднабор ламп. Информация о них задана в виде матрицы a, состоящей из n строк и m столбцов, где ai, j = 1, если i-й переключатель включает j-ю лампу, и ai, j = 0, если i-й переключатель не подсоединен к j-й лампе.

В начале все m ламп выключены.

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

Гарантируется, что если нажать все n переключателей, то все m ламп окажутся включены.

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

Требуется сказать, существует ли такой переключатель, что если его не использовать, но нажать все остальные n - 1 переключателей, то все m ламп окажутся включены.

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

В первой строке записаны два целых числа n и m (1 ≤ n, m ≤ 2000) — количество переключателей и количество ламп.

В следующих n строках содержится по m символов. ai, j равно '1', если i-й переключатель включает j-ю лампу и '0' в противном случае.

Гарантируется, что если нажать все n переключателей, то все m ламп окажутся включены.

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

Выведите «YES», если существует такой переключатель, что если его не использовать, но нажать все остальные n - 1 переключателей, то все m ламп окажутся включены. Выведите «NO», если нет такого переключателя.


Примеры
Входные данныеВыходные данные
1 4 5
10101
01000
00111
10000
YES
2 4 5
10100
01000
00110
00101
NO

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

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