您当前的位置:首页 > 计算机 > 编程开发 > VC/VC++

经典八皇后问题

时间:09-21来源:作者:点击数:

经典八皇后问题

#include "iostream"
using namespace std;
#define N 8
int queue[N];
int count = 1;

int getQueueK(int k)
{
 if (k == N)
 {
  for (int m = 0; m< N; m++)
  {
   cout<<queue[m]<<"/t";
  }
  cout<<endl<<count++<<":------------------"<<endl;
  return N;
 }
 for (int i = 0; i < N; i++)
 {
  int flag = 1;
  for (int j = 0; j < k; j++)
  {
   if ((i - queue[j] == k - j) || (i == queue[j]) || (i - queue[j] == j- k))
   {
    flag = 0;
    break;
   }
  }
  if (flag == 1)
  {
   queue[k] = i;
   getQueueK(k+1);
  } 
 }
 return -1;
}

int main()
{
 getQueueK(0);
 return 0;
}

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐