rows строк и cols столбцов счётчиков, сначала все равны нулю. Оператор нажимает кнопки; нажатие presses[i] = [r, c] прибавляет 1 к каждому счётчику строки r и к каждому счётчику столбца c (счётчик на их пересечении получает +2). Строки и столбцы нумеруются с нуля.
Верните, сколько счётчиков показывают нечётное число после всех нажатий.
Прямое моделирование работает за O(len(presses) · (rows + cols)) — попробуйте обойтись O(rows + cols) памяти и без обхода всей сетки.rows=3, cols=3, presses=[[1, 2]] → 4
Строка 1 и столбец 2 получают по +1, а их общая ячейка — +2. Нечётных ячеек 2 + 2 = 4.
rows=2, cols=4, presses=[[0, 0], [0, 3]] → 4
Строка 0 нажата дважды и стала чётной; столбцы 0 и 3 — по разу. Нечётны эти два столбца целиком: 4 ячейки.
rows=1, cols=5, presses=[[0, 4]] → 4
rows=3, cols=3, presses=[[1, 2]]
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 78 тестов на сервере, включая скрытые.