美文网首页
8皇后问题

8皇后问题

作者: jacky123 | 来源:发表于2016-07-19 09:57 被阅读78次

    前言

    八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。

    分析

    1. 我们可以逐行或者逐列来进行可行摆放方案的遍历,每一行(或列)遍历出一个符合条件的位置,接着就到下一行或列遍历下一个棋子的合适位置,这种遍历思路可以保证我们遍历过程中有一个条件是绝对符合的——就是下一个棋子的摆放位置与前面的棋子不在同一行(或列)。
      接下来,我们只要判断当前位置是否还符合其他条件,如果符合,就遍历下一行(或列)所有位置,看看是否继续有符合条件的位置,以此类推,如果某一个行(或列)的所有位置都不合适,就返回上一行(或列)继续该行(或列)的其他位置遍历,当我们顺利遍历到最后一行(或列),且有符合条件的位置时,就是一个可行的8皇后摆放方案,累加一次八皇后可行方案的个数,然后继续遍历该行其他位置是否有合适的,如果没有,则返回上一行,遍历该行其他位置,依此下去。这样一个过程下来,我们就可以得出所有符合条件的8皇后摆放方案了。这是一个深度优先遍历的过程,同时也是经典的回溯递归思路

    2. 把当前列N的前面的某一列设为m,则m的所有取值为{m>=0,m<N}的集合,故又可在上面式子的基础,归纳为如下:

    cols[N] != cols[m](与第m列的棋子不在同一行)
    cols[N] != cols­­[m] -(N-m)(>=0 ,与第m列的棋子不在同一斜线上)
    cols[N] != cols­­[m] + (N-m) (<=8-1,与第m列的棋子不在同一反斜线上)

    具体到代码,很显然,取m的所有值只需要一句循环,同时我们为每一列定义一个长度为8的布尔数组row[],下标同样是从0开始,我们规定当row[i]=true时,表示该列第i行不能放棋子。这样我们就能写成下列程序段了:

    boolean[] rows = new boolean[8];
       for(int m=0;m<N;i++){
          rows[cols[m­]]=true;//当前列N的棋子不能放在前面列m的棋子所在行。
          int d = N-m;
         //该句用于设置当前列N的棋子不能放在前面列m的棋子的斜线上
         if(cols­­-d >= 0)rows[cols­-d]=true; 
        // 该句用于设置当前列N的棋子不能放在前面列m的棋子的反斜线上
         if(cols+d <=8-1)rows[cols­+d]=true;  
    }
    

    完整的代码

    public class Queen8 {
        public static int num = 0; // 累计方案总数
        public static final int MAXQUEEN = 8;// 皇后个数,同时也是棋盘行列总数
        // 定义cols数组,表示8列棋子摆放情况;下标表示列数,值表示行数
        public static int[] cols = new int[MAXQUEEN];
    
        public void start() {
            // 核心函数
            getArrangement(0);
            System.out.print("\n");
            System.out.println(MAXQUEEN + "皇后问题有" + num + "种摆放方法。");
        }
    
        //当前遍历到n行
        public void getArrangement(int n) {
            // 遍历第n列所有不合法的行,并用rows数组记录,不合法即 rows[i]=true
            boolean[] rows = new boolean[MAXQUEEN];
            for (int i = 0; i < n; i++) {
                //与第i列的棋子不在同一行
                rows[cols[i]] = true;
                int d = n - i;
                if (cols[i] - d >= 0)
                    // 与第i列的棋子不在同一斜线上
                    rows[cols[i] - d] = true;
                if (cols[i] + d <= MAXQUEEN - 1)
                    // 与第i列的棋子不在同一反斜线上
                    rows[cols[i] + d] = true;
    
            }
            
            //一个循环,如果当前行没有满足要求,可以移动下一个位置
            for (int i = 0; i < MAXQUEEN; i++) {
                // 判断该行是否合法,如果所有不合法,就退出这个循环了,然后相当于返回了上一步,继续查找。
                if (rows[i])
                    continue;
                // 设置当前列合法棋子所在行数
                cols[n] = i;
                // 当前列不为最后一列时
                if (n < MAXQUEEN - 1) {
                    getArrangement(n + 1);
                } else {
                    // 累计方案个数
                    num++;
                    // 打印棋盘信息
                    printChessBoard();
                }
            }
        }
    
        public void printChessBoard() {
            System.out.print("第" + num + "种走法 \n");
    
            for (int i = 0; i < MAXQUEEN; i++) {
                for (int j = 0; j < MAXQUEEN; j++) {
                    if (i == cols[j]) {
                        System.out.print("0 ");
                    } else
                        System.out.print("+ ");
                }
                System.out.print("\n");
            }
    
        }
    
        public static void main(String args[]) {
            new Queen8().start();;
        }
    }
    

    结果:

    第1种走法 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第2种走法 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + 0 + + + + + 
    第3种走法 
    0 + + + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + 0 + + + 
    第4种走法 
    0 + + + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    第5种走法 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    第6种走法 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第7种走法 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第8种走法 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    第9种走法 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    第10种走法 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + 0 + + + 
    第11种走法 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    第12种走法 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    第13种走法 
    + 0 + + + + + + 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    + + + + 0 + + + 
    第14种走法 
    + + + + 0 + + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + + 0 + + + + 
    第15种走法 
    + + + + + + + 0 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    第16种走法 
    + + + 0 + + + + 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    + + + + + + 0 + 
    第17种走法 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第18种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    第19种走法 
    + + + + 0 + + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    第20种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    第21种走法 
    + + + 0 + + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    第22种走法 
    + + + + + + + 0 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    第23种走法 
    + + + 0 + + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第24种走法 
    + + + 0 + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第25种走法 
    + + + + + 0 + + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    第26种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    第27种走法 
    + + + + + + 0 + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    第28种走法 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    第29种走法 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + + 0 + + + + 
    第30种走法 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    第31种走法 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    第32种走法 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第33种走法 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第34种走法 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第35种走法 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + + 0 + + + + + 
    第36种走法 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    第37种走法 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    第38种走法 
    + + + + + 0 + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + 0 + + + + + 
    第39种走法 
    + + + + 0 + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第40种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    第41种走法 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    第42种走法 
    + + + + + 0 + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    第43种走法 
    + + + + 0 + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    第44种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    第45种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    第46种走法 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + 0 + + + + + + 
    第47种走法 
    + 0 + + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    第48种走法 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第49种走法 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第50种走法 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    第51种走法 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    第52种走法 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    第53种走法 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + 0 + + + + + 
    第54种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    第55种走法 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    第56种走法 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + 0 + + + + + 
    第57种走法 
    + + 0 + + + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + 0 + + + 
    第58种走法 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    第59种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + 0 + + + 
    第60种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    第61种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    第62种走法 
    + + + 0 + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    第63种走法 
    + + + 0 + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    第64种走法 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    第65种走法 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    第66种走法 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + + 0 + 
    第67种走法 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第68种走法 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    第69种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + 0 + + + + 
    第70种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    第71种走法 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + 0 + + + + 
    + + + + + + + 0 
    第72种走法 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    第73种走法 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + 0 + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第74种走法 
    + + + + + + 0 + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    第75种走法 
    + + + + 0 + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    第76种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    第77种走法 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + + + 0 + + + + 
    第78种走法 
    + + + 0 + + + + 
    + + + + + + 0 + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + 0 + + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + + + + 0 
    第79种走法 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    + + + + 0 + + + 
    第80种走法 
    + + + + 0 + + + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + + + 0 + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + + + + 0 + + 
    + 0 + + + + + + 
    第81种走法 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + 0 + + + + 
    第82种走法 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + + 0 + + + 
    第83种走法 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + 0 + + + + + 
    0 + + + + + + + 
    + + + + + + 0 + 
    第84种走法 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + + 0 + + + + 
    0 + + + + + + + 
    + + + + 0 + + + 
    第85种走法 
    + + + + + 0 + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    + + 0 + + + + + 
    第86种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + + + 0 
    0 + + + + + + + 
    + + + + 0 + + + 
    第87种走法 
    + + + + + 0 + + 
    + + 0 + + + + + 
    + + + + + + 0 + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + 0 + + + + 
    第88种走法 
    + + + 0 + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + 0 + + + + + + 
    + + + + 0 + + + 
    0 + + + + + + + 
    + + + + + 0 + + 
    第89种走法 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    0 + + + + + + + 
    第90种走法 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    + + 0 + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    0 + + + + + + + 
    第91种走法 
    + + 0 + + + + + 
    + + + + 0 + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + + 0 + + 
    + + + 0 + + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    第92种走法 
    + + 0 + + + + + 
    + + + + + 0 + + 
    + + + 0 + + + + 
    + 0 + + + + + + 
    + + + + + + + 0 
    + + + + 0 + + + 
    + + + + + + 0 + 
    0 + + + + + + + 
    
    8皇后问题有92种摆放方法。
    

    参考资料

    相关文章

      网友评论

          本文标题:8皇后问题

          本文链接:https://www.haomeiwen.com/subject/ppsmjttx.html