Este es un problema difícil conocido, que determina qué rectángulos se pueden colocar en mosaico con ciertas piezas.
Sin embargo, si estás construyendo rompecabezas y puedes controlar las piezas, es el problema opuesto, constructivo y más fácil ...
Desarrolle una solución de manera constructiva. Toma algunas piezas que te gusten y llena el rompecabezas como quieras. Luego agregue suficientes cuadrados individuales para completarlo, y ha garantizado que hay al menos una solución. O más bien, incluya algunas piezas pequeñas en su conjunto de piezas permitido.
En cuanto a la resolución / disposición de las piezas, un enfoque típico de fuerza bruta es llenarlo de izquierda a derecha, luego de arriba a abajo. Encuentre la primera celda abierta (numerada LR, TB) e intente colocar las piezas permitidas en sus orientaciones permitidas (8 orientaciones para una pieza asimétrica si permite voltear). Quizás revise las primeras piezas grandes permitidas y recurra a las más pequeñas si es necesario. Cuando llegas a un estado que no te gusta (callejón sin salida, demasiadas piezas pequeñas o lo que no), retrocede. Si un conjunto de cuadrícula / pieza dado no cumple con sus criterios, es decir, retrocedió completamente sin terminar, pruebe con un conjunto de rectángulo y pieza diferente.
Una forma de hacer un rompecabezas "más fácil" podría ser cambiar piezas más grandes por piezas más pequeñas como monominoes y dominó, ya que esto dejará más formas de completar los últimos agujeros. O, de manera equivalente, cree una solución que favorezca esas piezas más pequeñas.
Algunos poliominólogos destacados incluyen:
==> http://ee.usc.edu/faculty_staff/faculty_directory/golomb.htm Golomb acuñó originalmente el término "Polyomino"
==> http://www.eklhad.net/polyomino/ Dahlke ha resuelto bastantes rectángulos llenos de piezas idénticas (una forma de mosaico particularmente rara)