This evening I tried to solve a puzzle for a tree, so I thought that the best way to find a solution to this problem programmatically.
The goal is to combine a set of solids (e.g., tetris pieces in three dimensions) together to form a shape in a possible way that takes into account the fact that the parts can only be attached or placed in the structure if they fit type of movement (ignore turns, only 90 ° turns).
Check this box to understand what I mean.
CS , , ++. , . memoization, , . , (.. , , ). , , , , ( ). , memoization ( ) , , . , , , . .
- 3D , .
polyomino . .
, , . , , .
, . , .
, , , , , , , , .
, , , , 4 , .
. , 24 , , 4 .
, , , , , .
. , . . - , . , , , , .
If the last paragraph returns without a solution, the puzzle was unsolvable.
Source: https://habr.com/ru/post/1712913/More articles:Linux Subversion Tutorial - linuxGeographical Ranking in Solr - rankingGet the sum of array elements in C # using generics - arraysSharpSVN path issue - c #Среда разработки Linux для небольшой команды - linuxDeploying stand-alone PHP / MySQL applications - phpLua - sorting tables alphabetically - sortingrun java application as background process - javaMy bad MIME: Obj-C code, but Questiin is not language specific - very complex - objective-cGit pull continues to delete everything I added - gitAll Articles