Re[2]: Триомино
От: kurel  
Дата: 07.04.13 18:02
Оценка:
Здравствуйте, deniok, Вы писали:

если я правильно понял, то мое решение совпадает с вашим примерно.

Понимаю, что не интересно, но на всякий случай мое решение (к-ый рекурсивно "вызывает" самого себя):


Заполнить доску размером 2^n на 2^n триомино
Если размер доски 2x2,
----- то задача решается элементарно.
Иначе:
----- Делим доску на 4 части. Одна из четвертей будет иметь вырезанную клетку, три остальные не будут ее иметь.
----- Располагаем 1 триомино в центре нашей доски так, чтобы все три клетки этого триомино лежали по одной на каждой из 3 четвертинок, на которых нет вырезанной клетки.
----- Теперь мы имеем 4 под-доски (четвертинки данной доски), каждая размером 2^(n-1) на 2^(n-1) и на каждой (условно) по одной вырезанной клетке. (Условно будем считать, что клетки триомино, которое мы расположили в центре, это тоже "вырезанные" клетки).
----- Применим рекурсивно к каждой из 4 под-досок данный алгоритм



Т.е. для доски 8x8:

[-] [-] [-] [-] [-] [-] [-] [-]
[-] [-] [-] [-] [-] [-] [-] [-]
[-] [-] [-] [-] [-] [-] [-] [-]
[-] [-] [-] [-] [-] [-] [-] [-]
[-] [-] [-] [-] [-] [-] [-] [-]
[-] (|) [-] [-] [-] [-] [-] [-]
[-] [-] [-] [-] [-] [-] [-] [-]
[-] [-] [-] [-] [-] [-] [-] [-]

--------------------------------

[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]
----------------------------------
[-] [-] [-] [-] | [-] [-] [-] [-]
[-] (|) [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]

---------------------------------

Расположим триомино в центре доски следующим образом:

[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] (|) | (|) [-] [-] [-]
----------------------------------
[-] [-] [-] [-] | (|) [-] [-] [-]
[-] (|) [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]
[-] [-] [-] [-] | [-] [-] [-] [-]


ну и для каждой из под-досок рекурсивно

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.