Перебор. Фиксируем размер квадрата k, потом рекурсивный перебор: берем самую верхнюю-левую не заполенную клетку. Или помечаем ее пустой в ответе, или ставим любое из непоставленных тетрамино (4 варианта сдвига, раз поворотов нет). Естественно, новое терамино должно вставать только в неразмеченные клетки. Нужно всяких отсечений вставлять - типа есть достаточно неразмеченных клеток, чтобы вместить все оставшиеся тетрамино.