Ctrl K

Строки под диагональю

Средняя
Дана квадратная таблица board размера n × n из нулей и единиц. За один ход можно поменять местами две соседние строки. Таблица считается правильной, если все клетки строго выше главной диагонали (идущей из левого верхнего угла в правый нижний) — нули. Иначе говоря, в строке i (нумерация с нуля) все клетки со столбца i + 1 и правее должны быть нулями. Верните наименьшее число ходов, чтобы сделать таблицу правильной, или -1, если это невозможно.
Пример 1
board=[[1, 1, 0], [1, 0, 0], [0, 1, 1]] → 1

Достаточно одного обмена первых двух строк: [[1, 0, 0], [1, 1, 0], [0, 1, 1]]. Последняя строка может быть любой — выше диагонали у неё клеток нет.

Пример 2
board=[[0, 1], [0, 1]] → -1

В обеих строках единица в последнем столбце, а в первой строке там должен быть ноль. Ответ -1.

Пример 3
board=[[1]] → 0
Ограничения
  • 1 ≤ n ≤ 200
  • len(board) = len(board[i]) = n
  • board[i][j] равно 0 или 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодрастить башни, не трогая силуэт СредняяМаксимум двоичных строк после переворотов СредняяДва ряда лампочек СредняяТаблица по итогам строк и столбцов СредняяБлок единиц после перестановки столбцов Средняя
загружаем Python…
Вход
board=[[1, 1, 0], [1, 0, 0], [0, 1, 1]]
Ожидается
1

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