Ctrl K

Произведение всех клеток, кроме своей

Средняя
Дана прямоугольная таблица целых чисел table из n строк и m столбцов. Постройте таблицу того же размера, в которой в клетке [i][j] стоит произведение всех чисел table, кроме table[i][j], взятое по модулю 12345. Обратите внимание: 12345 не простое число, поэтому «разделить общее произведение на своё число» по модулю не получится. Попробуйте уложиться в O(n · m).
Пример 1
table=[[2, 5], [3, 1]] → [[15, 6], [10, 30]]

Для левой верхней клетки: 5 · 3 · 1 = 15, для правой верхней: 2 · 3 · 1 = 6, для нижних: 2 · 5 · 1 = 10 и 2 · 5 · 3 = 30. Все числа меньше 12345, остаток их не меняет.

Пример 2
table=[[12345, 7, 4]] → [[28, 0, 0]]

Первая клетка получает 7 · 4 = 28. Обе остальные произведения содержат множитель 12345, поэтому остаток равен 0.

Пример 3
table=[[6], [9]] → [[9], [6]]
Ограничения
  • 1 ≤ n, m
  • 2 ≤ n · m ≤ 10⁵
  • Все строки одной длины m
  • 1 ≤ table[i][j] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый большой лёгкий квадрат СредняяСуммы по окрестностям в таблице СредняяK-й по величине XOR угла СредняяТри самых тяжёлых ромба СредняяСбалансированный квадрат Средняя
загружаем Python…
Вход
table=[[2, 5], [3, 1]]
Ожидается
[[15, 6], [10, 30]]

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