八皇后(DFS)

//N皇后问题 
#include
#include
#include
#include
using namespace std;
#define N 8//皇后个数 
int ans=0;
int a[N]={0};//a[i]=j表示在第i行的第j列放置 
bool check0(int i,int j,int a_i,int a_j){//判断两个位置是否相邻,相邻则返回true ,因为是按行排列的  所以不用考虑同行的情况
    if(a_i==a_j) return true;//放在同一列
    if(fabs(j-i)==fabs(a_i-a_j)) return true;//放在同对角线(主对角线or次对角线)
    return false; 
}
bool check(int i,int j){//判断a[i]=j是否不和前面几行冲突 
    for(int k=0;k

 

你可能感兴趣的:(c)