博客
关于我
8皇后问题 递归 函数调用是重点
阅读量:277 次
发布时间:2019-03-03

本文共 645 字,大约阅读时间需要 2 分钟。



#include<iostream>

#include<math.h>

using namespace std;

int n=8,a[8],counter=1;
int canplace(int row,int col);
void search(int m);
void output();

int main()
{
  search(0);
}
 //画地图
 void search(int m)
 {
  int i;
    if(m == n)
   {
    output(); 
 }
 else
 {
      for(i = 0;i < n;i++)
      {

     if( canplace (m,i))

    {
      a[m] = i;
   search(m+1);
    }
   
      }
    }
 }
 //判断
 int canplace(int row,int col)
 {
   int i,flag=1;
   for(i = 0;i < row;i++)
   {
    if(a[i]==col||abs(a[i]-col)==abs(i-row))
    {
      flag=0;
      break;
 }
   }
   return (flag);
 }
  void output()
 {
  cout<<"No "<< counter <<':'<<endl;
  counter++;
  for(int i=0;i<n;i++)
  {
   for(int j=0;j<n;j++)
   {
    if(a[i]==j)
    {
     cout<<'A'; 
  }
  else
  {
    cout<<'.';
  }
 }
 cout<<endl;
  }

 }

转载地址:http://kcml.baihongyu.com/

你可能感兴趣的文章
Java 設計模式 - 建造者模式
查看>>
ES6 JavaScript 重新認識 Promise
查看>>
Spring--04--AOP增强
查看>>
2020-07-16:如何获得一个链表的倒数第n个元素?
查看>>
2020-12-10:i++是原子操作吗?为什么?
查看>>
2021-01-21:java中,HashMap的读流程是什么?
查看>>
Imagination官方信息速递2021年光线追踪专刊
查看>>
计算机视觉中的双目立体视觉和体积度量
查看>>
什么是数据中心,它们是如何变化的?
查看>>
webpack01 -- webpack安装和配置
查看>>
分享九款不同页面404源码html
查看>>
404页圈小猫游戏代码
查看>>
好看清新卡通人物404单页网站源码
查看>>
简洁仿t猫404页html源码
查看>>
Python九齿耙(Ninerake)数据采集大数据深度学习智能分析爬虫软件的正则表达式规则简介
查看>>
Delphi 10.3 Rio的RadioGroup1控件如何设置 Items 的排列为横向横排水平显示
查看>>
Kotlin实现冒泡排序
查看>>
NodeJS下TypeScript环境安装
查看>>
汽车后市场,小程序为何独占鳌头
查看>>
短视频小程序,互联网新风口
查看>>