题目说明:皇后可以横竖45度斜着吃子,现在在8*8的棋盘上放置8个皇后。问如何放置才能使她们平安相处?
我用树结构解决的:对前7行的节点来说,下面有8中选择,如果下一行的某一个节点n可以放置,则改链增加,直到8个子都能放,否则链寻访下一个节点n+1,还不行就返回(节点数变小)。直到遍历了所有可能:
太可惜了,买了新电脑,把这个源代码没有拷贝(以前电脑上东西比较乱,坏习惯,要改)。我就说一下最深刻地感受,当初一开始开始是写了一个函数,一直递归调用直到最终结束,结果只能算到28,29(换了个机子)个结果(正确结果有92个),发现这是栈耗尽引起的。后来改成了bool funDeel函数处理,该函数只当最终结束才返回true, 用函数A一直调用funDeel直到他返回true. 这样每次调用funDeel后,栈会被释放。 就计算出了92个结果。
没有源代码,有些不爽,啥时候补上。