zoukankan      html  css  js  c++  java
  • 八皇后问题

    此处为非递归版本

    #include <cmath>

    #include <iostream>

    #include <vector>

    #include <algorithm>

    using namespace std;

    const int MAX = 8;

    vector<int> board(MAX);

    void show_result()

    {

        for(size_t i = 0; i < board.size(); i++)

            cout<<"("<<i<<","<<board[i]<<")";

        cout<<endl;

    }

    int check_cross()

    {

        for(size_t i = 0; i < board.size()-1; i++)

        {

            for(size_t j = i+1; j < board.size(); j++)

            {

                if((j-i) == (size_t)abs(board[i]-board[j]))

                    return 1;

            }

        }

        return 0;

    }

    void put_chess()

    {

        while(next_permutation(board.begin(), board.end()))

        {

            if(!check_cross())

            {

                show_result();

            }

        }

    }

    int main()

    {

        for(size_t i =0; i < board.size(); i++)

            board[i] = i;

        put_chess();

        return 0;

    }

  • 相关阅读:
    LOAD XML
    LOAD DATA
    INSERT 插入语句
    keras第一课
    android系统开发之开启启动
    Qt使用数据库
    微信订阅号案例之一
    python_install
    QtObject使用
    Qml_JS文件的使用
  • 原文地址:https://www.cnblogs.com/guanling222/p/5139366.html
Copyright © 2011-2022 走看看