N皇后问题

来源:互联网 发布:mysql覆盖索引limit 编辑:程序博客网 时间:2024/06/05 15:15
#include<iostream>using namespace std;int n,sum=0,vertical[20],diagonal[20];bool diagonalJudge(int x,int y){for(int k=1;k<x;k++)if(x-k==y-diagonal[k]||x+y==k+diagonal[k])return false;return true;}void nQueen(int i){if(i==n+1){sum++;return;}for(int j=1;j<=n;j++){if(vertical[j]==0&&diagonalJudge(i,j)){vertical[j]=1;diagonal[i]=j;nQueen(i+1);vertical[j]=0;diagonal[i]=0;}}}int main(){cin>>n;nQueen(1);cout<<sum<<endl;return 0;}

0 0
原创粉丝点击