Como resolver o cubo 5 * 5 de maneira fácil e eficiente

Há um quebra-cabeça de cubo 5 * 5 chamado Problema do cubo feliz, onde, para um determinado tapete, é necessário fazer um cubo.http://www.mathematische-basteleien.de/cube_its.htm#top

É como, 6 tapetes azuis são

Dos seguintes tapetes, é necessário derivar um cubo -

Desta forma, tem mais 3 soluções. Então, como o primeiro filhote

Para esse problema, a abordagem mais fácil que eu poderia imaginar era baseada em recursão, onde para cada cubo tenho 6 posições e para cada posição tentarei verificar todos os outros parceiros e qual ajuste, irei novamente recursivamente para resolver o mesmo. Como encontrar todas as permutações de cada um dos cubos e depois descobrir qual se encaixa melhor.Então, abordagem de programação dinâmica.

Mas estou cometendo muitos erros na recursão. Existe alguma abordagem fácil e melhor que eu possa usar para resolver o mesmo?

Criei matriz a partir de cada tapete ou diagrama fornecido, depois os girei em cada 90 vezes no sentido horário 4 e anti-horário. Eu inverto a matriz e fiz o mesmo; agora, para cada uma das iterações acima, terei que repetir a etapa para outro cubo, de modo que, novamente, recursão.

 0 0 1 0 1
 1 1 1 1 1
 0 1 1 1 0
 1 1 1 1 1
 0 1 0 1 1
-------------
 0 1 0 1 0
 1 1 1 1 0
 0 1 1 1 1
 1 1 1 1 0
 1 1 0 1 1
-------------
 1 1 0 1 1
 0 1 1 1 1
 1 1 1 1 0
 0 1 1 1 1
 0 1 0 1 0
-------------
 1 0 1 0 0
 1 1 1 1 1
 0 1 1 1 0
 1 1 1 1 1
 1 1 0 1 0
-------------

1st - block is the Diagram
2nd - rotate clock wise
3rd - rotate anti clockwise
4th - flip

Ainda lutando para resolver a lógica.

questionAnswers(1)

yourAnswerToTheQuestion