C语言 · 8皇后问题

题目:8皇后问题

在8×8的棋盘上,放置8个皇后(棋子),使两两之间互不攻击。所谓互不攻击是说任何两个皇后都要满足:

(1)不在棋盘的同一行;

(2)不在棋盘的同一列;

(3)不在棋盘的同一对角线上。

因此可以推论出,棋盘共有8行,故至多有8个皇后,即每一行有且仅有一个皇后。这8个皇后中的每一个应该摆放在哪一列上是解该题的任务。

 

注释:递归题。

递归参数:当前行:begin;

递归出口:至多有8个皇后

每轮操作都要判断选中位置的行、列、斜三个位置上是否有其他皇后,有则不能放,否则递归下一行——注意标记数组在每一次递归后要恢复。

代码如下:

 1 #include<stdio.h>
 2 int sum=0;//表共有多少种放法即结果 
 3 int lie[8];//代表一竖n行 
 4 int xie1[2*8];//代表从↖到↘对角线
 5 int xie2[2*8];//代表从↘到↖对角线
 6 
 7 void HuangHou(int begin){
 8     if(begin>8){//表示搜索到了第八行,说明此次为有效搜索 
 9         sum++;
10     }else{
11         for(int i=1;i<=8;i++){//表每次搜索都是从第一列开始的 
12             if(lie[i]==0 && xie1[begin+i-1]==0 && xie2[begin-i+8]==0){
13                 lie[i]=1;
14                 xie1[begin+i-1]=1;
15                 xie2[begin-i+8]=1;
16                 HuangHou(begin+1);//搜索下一行 
17                 lie[i]=0;
18                 xie1[begin+i-1]=0;
19                 xie2[begin-i+8]=0;
20             }
21         }
22     } 
23 }
24 int main(){
25     HuangHou(1);//从第一行开始搜索 
26     printf("%d",sum);
27     return 0;
28 }            

 

转载于:https://www.cnblogs.com/panweiwei/p/6673354.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wps临时文件不自动删除_电脑:让 Windows 10 系统自动清理临时文件

不少朋友在系统用久了以后&#xff0c;都会用一些软件来帮忙清理系统中没用的文件&#xff0c;其中包括一些临时文件、无用文件等。但其实在 Windows 10 中&#xff0c;系统已经内置了自动定期清理临时文件的功能了。你还不知道&#xff1f;跟着我们来学习下吧。这个功能就隐藏…

服务器系统gho系统怎么安装系统,GHOST怎么重装系统?GHO文件安装系统教程

ghost映像文件就是系统文件&#xff0c;通过gho文件我们可以就进行系统的重装。不过对于电脑小白来说&#xff0c;不知道在哪里可以下载纯净的ghost文件&#xff0c;下载完成后也不清楚如何使用gho文件安装系统。那么下面就让小编教大家使用gho文件重装系统。相关教程&#xff…

Science | 谷岩/王朗团队揭示大脑中的免疫细胞竟是记忆遗忘的“主谋”

来源&#xff1a;BioArt记忆是大脑最重要的功能之一&#xff0c;也是人类研究最多的脑功能之一。记忆随时在发生&#xff0c;而遗忘如影随形。海马体位于大脑丘脑和内侧颞叶之间&#xff0c;是负责记忆的编码和存储的一个重要脑区。在这里&#xff0c;记忆信息被编码于一些神经…

halocn标定找旋转中心_机器人工具坐标系标定原理

工业机器人使用过程中经常在机器人末端法兰面安装不同的工具来满足实际生产需求&#xff0c;为了准确控制工具运动的位置与姿态&#xff0c;需要对工具所在坐标系进行标定。对于工业机器人来说&#xff0c;基坐标 与 末端法兰面所在坐标系 之间的关系在制作机器人的时候已经设定…

codeforces 264 B. Good Sequences(dp+数学的一点思想)

题目链接&#xff1a;http://codeforces.com/problemset/problem/264/B 题意&#xff1a;给出一个严格递增的一串数字&#xff0c;求最长的相邻两个数的gcd不为1的序列长度 其实这题可以考虑一下素因数&#xff0c;将每一个数都已是分解为几个不重复的素数&#xff0c;设dp[i]为…

app离线消息推送服务器,在线消息推送和离线消息推送(3)

首先介绍一下具体的功能设计。整个系统由服务端、客户端组成。客户端包含前端(浏览器端、pyqt桌面端)和后台(用于添加要推送的消息)。因为浏览器端不容易注意到实时提醒&#xff0c;所以我将实时提醒功能放到pyqt桌面端中实现(如托盘区闪烁等醒目的方式)。浏览器端中只对消息进…

基于深层卷积网络的手写数字识别 minist_「Tensorflow」基于CNN的数字OCR识别

导读 对于人类来说&#xff0c;识别手写的数字是一件非常容易的事情。我们甚至不用思考&#xff0c;就可以看出下面的数字分别是1&#xff0c;2&#xff0c;3。那机器如何来识别数字&#xff1f;本期将使用Tensorflow搭建卷积神经网络&#xff0c;进行手写数字的识别。代码可关…

2019年5G创新深度研究报告

来源&#xff1a;中信建投从历史上看&#xff0c;每一轮科技产业创新周期均主要由通信代际升级驱动&#xff0c;历时 5-8 年。我们认为 2017-2019 年为 4G 时代的稳定成熟期&#xff0c;而进入 2020 年&#xff0c;运营商加速投入 5G 网络建设&#xff0c;科技软硬件有望在运营…

鹰眼系统原理_山东首家露天焚烧鹰眼监控系统在我镇投入使用

露天冒烟着火&#xff0c;不用人员到现场&#xff0c;电子围栏就会锁定目标&#xff0c;自动报警&#xff0c;提醒监管人员立即现场处置。日前&#xff0c;莱西市院上镇新安装建设的污染源鹰眼监控系统投入使用&#xff0c;实现了环境监控全方位、自动化。据了解&#xff0c;这…

python requests是什么_python requests 连接池

本文从WordPress迁移而来, 查看全部WordPress迁移文章 背景&#xff1a;要从内部的一个web api拉取数据&#xff0c;要请求大概15万次左右&#xff08;15万个ID&#xff0c;每个ID请求一次&#xff09; 特点&#xff1a;一个host&#xff08;也可以以IP直接请求&#xff09;&am…

7nmarm微架构鲲鹏服务器芯片,中国电信服务器集采:同方鲲鹏服务器拿下6000万元份额...

原标题&#xff1a;中国电信服务器集采&#xff1a;同方鲲鹏服务器拿下6000万元份额(全球TMT2021年4月9日讯)日前&#xff0c;中国电信(2021年)服务器集采项目招标的GPU型服务器中标候选人公示发布。其中&#xff0c;鲲鹏、海光等国产CPU服务器占比进一步提升&#xff0c;标志着…

机器人的工作原理,这是我见过最详细的解析!

来源&#xff1a;网络很多人一听到“机器人”这三个字脑中就会浮现“外形酷炫”、“功能强大”、“高端”等这些词&#xff0c;认为机器人就和科幻电影里的“终结者”一样高端炫酷。其实不然&#xff0c;在本文中&#xff0c;我们将探讨机器人学的基本概念&#xff0c;并了解机…

linux mint 图标主题_如何在 Linux Mint 中更换主题

一直以来&#xff0c;使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验。这也是为何我喜爱 Linux Mint的主要原因之一。-- Its Foss&#xff08;作者&#xff09;一直以来&#xff0c;使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验。这也是为何我喜爱 Linux…

服务器物品展示框刷物品,我的世界1period;11period;2展示框刷物品bug | 手游网游页游攻略大全...

发布时间&#xff1a;2017-09-25我的世界惊现全新无限刷物品bug 服主大大都要注意了.那今天给大家分享一个玩家无意间发现的新的无限刷物品bug,而且还是在服务器中哦!那感兴趣的玩家不妨进来看看哦! 在一个rpg服务器玩 开小号召唤boss的时候发现的. ...标签&#xff1a;我的世界…

Nature:揭示人大脑类器官为何缺乏正常人脑特有的细胞亚型和复杂回路

来源&#xff1a;生物谷作为在实验室中通常利用人类干细胞培育出的大脑样组织三维球体&#xff0c;大脑类器官被吹捧为有潜力让科学家们在受控的实验室条件下研究大脑回路的形成。关于大脑类器官的讨论非常热闹&#xff0c;一些科学家认为它们将使得快速开发针对破坏性的脑部疾…

anaconda 怎么安装xlrd_Pyinstaller打包,文件太大了怎么办?

这是一个很长的故事&#xff0c;嫌长的直接看最后的结论事情经过上周接了个需求&#xff0c;写了个小工具给客户&#xff0c;他要求打包成exe文件&#xff0c;这当然不是什么难事。因为除了写Python的&#xff0c;绝大多数人电脑里都没有Python编译器&#xff0c;所以打包成exe…

2017.4.07 js 中的function 实现的方式

函数分为FD &#xff08;函数定义&#xff09;&#xff0c;FE&#xff08;函数表达式&#xff09; ,函数构造器得到的函数(1) FD 的栗子&#xff1a;function getTaste(){ .......}解析器遇到上面的function关键字&#xff0c;会解析上面的代码为函数定义的情况&#xff0c;凡…

android checkbox 选中事件_使用Vue3.0新特性造轮子 WidgetUI3.0 (Checkbox复选框组件)

"title"标题示例代码&#xff1a;data [ { title: 新日小卫士二代, }, { title: 车子质量不合格, }, { title: 我买的骑士1号仪表台进水怎么回事&#xff1f;, }, { title: 风雅欧妮大灯高低调节, }]"title"标题和"desc"描…

服务器装系统用哪个好,服务器系统重装用哪个系统

服务器系统重装用哪个系统 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。重装裸金属服务器的操作系统。快速发放裸金属服务器支持…