【经典题目】八皇后问题
题目:在2*2的国际象棋上摆放着8个皇后,使其不能相互攻击,即任意两个皇后不得处在同一行、同一列或者同一个对角线上。下图所示:图中有八个皇后,这就是一种符合条件的摆放方法。请问共有多少种符合条件的摆法?
下面是采用递归方法来实现的八皇后问题
//8 Queen 递归算法
//如果有一个Q 为 chess[i]=j;
//则不安全的地方是 k行 j位置,j+k-i位置,j-k+i位置
class Queen8 {
static final int QueenMax = 8;
static int oktimes = 0;
static int chess[] = new int[QueenMax];// 每一个Queen的放置位置
public static void main(String[] args) {
long time = System.currentTimeMillis();
for (int i = 0; i < QueenMax; i++)
chess[i] = -1;
placequeen(0);
System.out.println("\n\n\n八皇后共有" + okti