История изменений
Исправление i-rinat, (текущая версия) :
Предварительно для всех фигур создать все возможные повороты и отражения.
Перебирать все пустые ячейки столбцами сверху вниз, слева направо. Для каждой ячейки перебирать фигуры. Если получилось, то рекурсия.
Задача «собрать все элементы в прямоугольник» решается относительно быстро даже на 386-м (40 МГц).
Исходная версия i-rinat, :
Предварительно для всех фигур создать все возможные повороты и отражения.
Перебирать все пустые ячейки столбцами сверху вниз, слева направо. Для каждой ячейки перебирать фигуры. Если получилось, то рекурсия.
Задача «собрать все элементы в прямоугольник» решается относительно быстро даже не 386-м (40 МГц).