穷举法和回溯法求解八皇后
八皇后是数学家高斯提出的趣题,即在国际象棋中8*8的方格的棋盘上如何放置8个皇后,使得8个皇后任何2个不能互相攻击(即不能同一纵列,不能统一横排,不能在45度斜线上)。
以下是我自己用java写的 穷举法和回溯法求八皇后。
因为不能统一横排或者纵排,所以8位数字中1到8肯定各出现一次,不可以重复。所以范围规定于[12345678,87654321] 并且穷举的步长为9,因为数字1-8各出现一次,所以,8位数字肯定为9的倍数.
回溯法求解八皇后,思路是,当前位的皇后数字都无法满足条件时,就回溯到上一个皇后位置,上一个皇后,达到满足条件时,继续下一个皇后的列举判断。直到第一个皇后都无法满足条件为止。 1 楼 abcd0553 2012-04-12 YCY,过劲蛮