《八皇后——穷举法》由会员分享,可在线阅读,更多相关《八皇后——穷举法(4页珍藏版)》请在金锄头文库上搜索。
利用穷举解法来解决八皇后问题。由于棋盘的对称性,第一行只考虑前四列的情况,然后逐行查找可行点,计算出结果后,总的解法数即是计算结果的两倍,而后四列的情况也即是前四列结果关于垂直线的对称。源程序如下:1.public class EightQueens 2. int answer=0; /结果数 3. int chess=new int88;/棋盘 4. EightQueens() 5. int i=0,j=0,k=0;6. /取半个棋盘计算结果,最后结果*2 7. for(k=0;k0) 25. for(int k=0;k=0i-,j-) 78. s+=chessij;79. 80. for(i=I,j=J;i=0i+,j-) 84. s+=chessij;85. 86. for(i=I,j=J;i8i+,j+) 87. s+=chessij;88. 89. return s;90. 91. public static void main(String args) 92. EightQueens queen=new EightQueens();93. 94. 结果如图: