在我的游戏板对象的代码中,我有一个sCpeg(int a, int b)函数,它可以更改您当前用于跳转的peg。我将它连接到一个moves变量来解决它。这是一个非常基本的启发式方法,我希望它是一个搜索算法:用一个peg探索所有可能的跳转。如果未找到解决方案,请回溯,更新当前peg并重复此过程。在回溯和更新当前的peg之间,我迷失了方向。递归是解决这个难题的好方法吗?
我能够使用3 peg的情况来实现它,但是,当我想要使用更多的钉子(为了产生更少的移动)时,我理解了框架-Stewart解决方案,在这个解决方案中,我必须打破我拥有的磁盘数量,并将其叠加到一个peg上,并且在我将磁盘从源挂钩转移到具有所有中间连接的目标挂钩时// private member function: primitive/basic move of the top disk
// from the source peg to the destinationpeg</e