回溯法之n皇后问题

来源:互联网 发布:mysql order by 原理 编辑:程序博客网 时间:2024/04/30 23:54
#include<iostream>#include<string.h>#include<string>#define N 20using namespace std;bool vis[3][N];int sum,a[10];int n;void dfs(int cur){if(cur==n){sum++;return;}for(int i=0;i<n;++i)if(!vis[0][i]&&!vis[1][cur+i]&&!vis[2][cur-i+n]){a[cur]=i;vis[0][i]=vis[1][cur+i]=vis[2][cur-i+n]=true;dfs(cur+1);vis[0][i]=vis[1][cur+i]=vis[2][cur-i+n]=false;}}int main(){while(cin>>n){memset(vis,false,sizeof(vis));sum=0;dfs(0);cout<<sum<<endl;}return 0;}

原创粉丝点击