八皇后c++版本

来源:互联网 发布:js 短路 编辑:程序博客网 时间:2024/05/18 15:23

八皇后

直接丢代码,留个纪念

#include <iostream>#include <cstdlib>using namespace std;void queen(int n);void display(int arr[]);void putChess(int arr[],int size,int row,int col);int main(){    queen(8);}bool checkQueen(int arr[],int row){    for (int i = 0; i < row; ++i)    {        if(arr[i]==arr[row] ||  abs(arr[i] - arr[row])==abs(i-row)){            return false;        }    }    return true;}void putChess(int arr[],int size,int row,int col){    arr[row]=col;    if(checkQueen(arr,row)){        if(row == size-1){            display(arr);        }else{            for (int i = 0; i < size; ++i)            {                putChess(arr,size,row+1,i);            }        }    }}void  display(int arr[]){    static int count=0;    count++;    cout << count << endl;}void queen(int n){    int arr[n];    int row=0;    for (int i = 0; i < n; ++i)    {        putChess(arr,n,row,i);    }}
0 0
原创粉丝点击