Ctrl K

Нечётные счётчики после нажатий

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

Строка 1 и столбец 2 получают по +1, а их общая ячейка — +2. Нечётных ячеек 2 + 2 = 4.

Пример 2
rows=2, cols=4, presses=[[0, 0], [0, 3]] → 4

Строка 0 нажата дважды и стала чётной; столбцы 0 и 3 — по разу. Нечётны эти два столбца целиком: 4 ячейки.

Пример 3
rows=1, cols=5, presses=[[0, 4]] → 4
Ограничения
  • 1 ≤ rows, cols ≤ 50
  • 1 ≤ len(presses) ≤ 100
  • 0 ≤ presses[i][0] < rows
  • 0 ≤ presses[i][1] < cols
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДоска с остатком один ЛёгкаяСтроки вернулись на место ЛёгкаяПодтянуть самого слабого ЛёгкаяСколько тасовать, чтобы вернуть колоду СредняяПоследний в кругу Средняя
загружаем Python…
Вход
rows=3, cols=3, presses=[[1, 2]]
Ожидается
4

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 78 тестов на сервере, включая скрытые.