board размером m × n: 0 — свободная клетка, 1 — занятая. Есть сколько угодно одинаковых прямоугольных наклеек высотой tall и шириной wide.
Наклейки клеят по правилам:
- каждая наклейка целиком лежит на доске и выровнена по клеткам;
- поворачивать наклейки нельзя;
- наклейка не может закрывать ни одной занятой клетки;
- наклейки могут перекрываться, их число не ограничено.
Верните True, если можно наклеить наклейки так, чтобы каждая свободная клетка оказалась закрыта, и False иначе.board=[[0, 0, 0], [0, 0, 0], [1, 0, 0]], tall=2, wide=2 → True
Подходят три наклейки 2×2 с левыми верхними углами в клетках (0, 0), (0, 1) и (1, 1): вместе они закрывают все свободные клетки и не задевают занятую в левом нижнем углу.
board=[[0, 1, 0], [0, 0, 0]], tall=2, wide=2 → False
Любая наклейка 2×2 на этой доске задевает занятую клетку в середине верхней строки, поэтому клеить нечего, а свободные клетки есть.
board=[[1, 1], [1, 1]], tall=3, wide=3 → True
Свободных клеток нет, закрывать нечего — ответ True, хотя наклейка даже не помещается на доску.
board=[[0, 0, 0], [0, 0, 0], [1, 0, 0]], tall=2, wide=2
True
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 84 теста на сервере, включая скрытые.