Задача 767
Головоломка со скользящими блоками

Головоломка со скользящими блоками - это головоломка, элементы которой заключены в сетке и конечное состояние в которой достигается путем сдвига элементов. В рамках этой задачи элементы головоломки могут перемещаться исключительно на целое число единиц вверх, вниз, влево и вправо.

Достижимое состояние - это любое расположение элементов, которое можно получить из начального состояния головоломки путем сдвига элементов.

Два состояния являются идентичными, если элементы одинаковой формы занимают одно и то же положение на сетке. Таким образом, в примере ниже все красные квадраты неразличимы. В этом случае количество достижимых состояний равно 208.

Найдите количество достижимых состояний для головоломки ниже. Обратите внимание, что красные Г-образные элементы считаются отличными от зеленых Г-образных элементов.

Оригинал
 
© Проект Эйлера | Translated problems from ProjectEuler.net