Hallo,

ich habe versucht das puzzle zu compilezeit vom compiler lsen zu lassen. Der Algorithmus, der dabei benutzt wurde ist ziehmlich brute force. Leider reichen die kapazitten des Compilers nicht aus, um das puzzle auch wirklich zu lsen - derselbe Algorithmus implementiert als runtime braucht "unendliche" Rechenzeit. Es werden zwar Symmetrien der einzlenen Teile bercksichtigt, aber nicht symmetrische Lsungen. Man msste also das Ergebnis durch 4 teilen.
Um zu berprfen, ob der Ansatz berhaupt funktioniert, habe ich ein reduziertes Puzzle genommen - 6 Teile a 4 Wrfel in einem 2x3x4 Wrfel. Leider ist auch das fr den compiler zuviel. Das reduzierte puzzle wird erst gelst, wenn man 3 Teile fest setzt und nur die restlichen 3 durchprobiert.

Aber es funktioniert!

Verzeichnisse:
compileTime-12 original ct puzzle gelst vom compiler
compileTime-6  reduziertes puzzle gelst vom compiler
runtime        derselbe Algorithmus gelst zur Laufzeit 

Getestet mit Visual C++ 7.1 (7.0 wird wahrscheinlich nicht funktionieren, 6.0 schon gar nicht)

Waldemar Rosenbach
bobka@c-lab.de
