Ctrl K

Волшебные блоки 3×3

Средняя
Дано прямоугольное поле board из целых чисел. Назовём блок 3×3 *волшебным*, если в нём стоят все цифры от 1 до 9, каждая ровно по одному разу, и суммы во всех трёх строках, всех трёх столбцах и на обеих диагоналях блока одинаковы. Посчитайте, сколько волшебных блоков 3×3 (из соседних строк и столбцов) встречается на поле. Блоки могут перекрываться. На поле бывают и числа больше 9 и нули — блок с таким числом волшебным не бывает.
Пример 1
board=[[2, 7, 6, 2], [9, 5, 1, 9], [4, 3, 8, 4]] → 1

Левый блок 3×3 содержит цифры 1–9 по разу, и каждая строка, столбец и обе диагонали дают 15. Правый блок (столбцы 1–3) повторяет 9 и не годится.

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

Все суммы равны 15, но цифры повторяются, поэтому блок не волшебный.

Пример 3
board=[[12, 3], [0, 7]] → 0

Поле меньше 3×3 — блоков нет совсем.

Ограничения
  • 1 ≤ число строк, число столбцов ≤ 10
  • Все строки одной длины
  • 0 ≤ board[i][j] ≤ 15
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПростые числа на лучах сетки СредняяОпечатка в таблице лото ЛёгкаяСудоку без конфликтов СредняяПовернуть квадрат по часовой СредняяНулевые кресты Средняя
загружаем Python…
Вход
board=[[2, 7, 6, 2], [9, 5, 1, 9], [4, 3, 8, 4]]
Ожидается
1

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