怎样用随机法求出八皇后问题的一个解
这是我们的老师提出来的问题,具体要求如下
八皇后问题在以前的上机题中已经实现过一次,但是很多同学都是在回溯法思想上用确定法求解的。用确定法求解能够完整地将92个解全部求出,但是在求解其中地任意一个解时,性能还是差了些。
现在请同学们用概率法求解八皇后问题的一个解。用到的基本思想还是回溯法,但是在将下一个皇后放入某一个格子时,不是按照从左到右的次序来,而是随机放入某一个位置中。如果这个位置不合适,再随机生成另一个位置放入皇后。
我现在的问题是用随机函数真的能碰巧求出一个解吗,虽然理论上可行,但是实际上rand函数很多时候产生的数都相同,不能把1到8的数都随机产生一遍,我试了一下,产生不出来(我是在我以前写的求出92个解的程序上改动的),有高手能提点一下吗