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

    #include <fstream>
    #include
    <cmath>
    #define MAX 8
    using namespace std;

    ofstream cout(
    "out");

    int queens[MAX];
    int sum=0;

    void print();
    void placequeens(int i);
    bool isValid(int n);

    void print(){
    for (int i=0;i<MAX;i++){
    for (int j=0;j<MAX;j++){
    if(j==queens[i])
    cout
    <<"Q ";
    else
    cout
    <<". ";
    }
    cout
    <<endl;
    }
    }

    void placequeens(int i){
    for (int j=0;j<MAX;j++){
    if(i==MAX){
    sum
    ++;
    cout
    <<"# "<<sum<<endl;
    print();
    return;
    }
    queens[i]
    =j;
    if(isValid(i)) placequeens(i+1);
    }
    }

    bool isValid(int n){
    for (int i=0;i<n;i++){
    if(queens[i]==queens[n]) return false;
    if(abs(queens[i]-queens[n])==(n-i)) return false;
    }
    return true;
    }

    int main()
    {
    placequeens(
    0);
    cout
    <<"total "<<sum<<"."<<endl;
    return 0;
    }

  • 相关阅读:
    第四章5
    第四章4
    第四章3
    第四章2
    第四章1
    第四章例4-8
    第四章例4-7
    第四章例4-6
    第四章例4-5
    第四章例4-4
  • 原文地址:https://www.cnblogs.com/bl4nk/p/2023083.html
Copyright © 2011-2022 走看看