八皇后问题

来源:互联网 发布:mysql的insert语句 编辑:程序博客网 时间:2024/06/06 13:06
#include<cstdio>int n,a[8],counts,map[8][8];void print(int x){if(x==n){++counts;printf("%d\n",counts);for(int i=0;i<n;++i){for(int j=0;j<n;++j)printf("%d ",map[i][j]);putchar('\n');}puts("---------------------------------");return;}for(int i=0;i<n;++i){a[x]=i;int ok=1;for(int j=0;j<x;++j){if((a[x]==a[j])||(a[x]+x==j+a[j])||(j-a[j]==x-a[x])){ok=0;break;}}if(ok){map[x][i]=1;print(x+1);map[x][i]=0;}}}int main(){n=8;print(0);return 0;}

0 0