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.