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