Advertisement

暴力枚举之八皇后问题(数量统计、记录纵坐标信息、棋盘存在障碍、N皇后问题)

阅读量:

一、可实现解的数量

复制代码
 #include <iostream>

    
 #include <cstdio>
    
 #include <cstring>
    
 using namespace std;
    
 const int maxn = 1000;
    
  
    
 int n,tot=0,c[maxn];
    
  
    
 void search(int cur)
    
 {
    
     if(cur==n) tot++;
    
     else
    
     {
    
     for(int i=0;i<n;i++)
    
     {
    
         int ok = 1;
    
         c[cur] = i;
    
         for(int j =0;j<cur;j++)
    
         {
    
             if(c[cur]==c[j] || cur-c[cur]==j-c[j] || cur+c[cur]==j+c[j])//判断当前皇后和已存在皇后是否在同一列、对角线上
    
             {
    
                 ok = 0;
    

全部评论 (0)

还没有任何评论哟~