解析

经典大法师(dfs哈哈哈)
比较关键的是每条对角线上点的坐标之和或差是相同的,故可以用一维数组存储其状态

这题一开始用了双层循环,卡掉了4个点qwq
后来发现其实因为每行只有一个皇后,每次单层循环枚举j就可以实现的
于是代码就出来了

代码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int y[50]={ },he[50]={ },ca[50]={ },tot=0,ans[20];
int n;
void dfs(int num,int I){//I记录放到第几个皇后(第几行)if(num>n){tot++;if(tot<=3){for(int i=1;i<=n;i++){printf("%d ",ans[i]);}printf("\n");}return;}for(int j=1;j<=n;j++){//这里只需要单层即可if(y[j]==0&&he[I+j]==0&&ca[I-j+n]==0){y[j]=1;he[I+j]=1;ca[I-j+n]=1;ans[num]=j;dfs(num+1,I+1);y[j]=0;he[I+j]=0;ca[I-j+n]=0;}}return;
}
int main() {scanf("%d",&n);dfs(1,1);printf("%d",tot);return 0;
}

震惊!温州一程序员编完八皇后吐血而亡,他的代码是什么样子?!!相关推荐

  1. 为什么计算机编程以英语为主,为什么做编程都用英文,中文不行吗?听程序员解释完,总算明白了...

    今天我们科普的话题是:为什么做编程都用英文,中文不行吗?听程序员解释完,总算明白了 不知道大家最近有没有追过一部电视剧,它是<亲爱的热爱的>,由李现和杨紫主演的.主要讲述了这对情侣发生的浪 ...

  2. 程序员版本的八荣八耻~

    前言 大家好. 最近整理了一个关于程序员日常开发版本的八荣八耻,还挺有意思的.给大家分享一下,哈哈~ 1. 以接口兼容为荣,以接口裸奔为耻 以接口兼容为荣,怎么理解呢? 很多bug都是因为修改了对外旧 ...

  3. OSChina 周六乱弹 ——程序员喝的是奶,挤出来的是代码

    2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2017)请戳(这里) [今日歌曲] @一叶孤鸿:分享银临的单曲<瀘沽寻梦>: 南有仙地,名曰摩梭 ...

  4. 程序员的职业病(职业素养)之一:动手写业务代码之前先考虑异常处理

    程序员的职业病(职业素养)之一:动手写业务代码之前先考虑异常处理.Jerry 5月份动脑部手术之前,无论是从网上搜索的资料,还是从手术医生那里亲口听到的,都提到手术有一定的风险.换句话说,我有一定概率 ...

  5. java粒子特效_程序员20分钟搞定粒子效果, 仅仅200行代码

    原标题:程序员20分钟搞定粒子效果, 仅仅200行代码 这粒子的打造,确实没有布局代码,稍后大家在源码上可以看到,css代码都只有几行,绝大部分代码都是java代码,而且是原生java书写的,现在很多 ...

  6. 小白程序员怎么由量变到质变写出高质量代码

    小白程序员怎么由量变到质变写出高质量代码?很多老程序员从事开发多年,有这样一种感觉,查看一些开源项目,如Spring.Apache Common等源码是一件赏心悦目的事情,究其原因,无外两点: 1.代 ...

  7. 转载:韩卫平--程序员们,你愿意维护别人写的“烂”代码么

    韩卫平--程序员们,你愿意维护别人写的"烂"代码么? http://blog.csdn.net/akirya/archive/2009/03/11/3982139.aspx 程序员 ...

  8. 多线程设置操作时间间隔_听说,有位Java程序员学完这59道多线程面试题之后,直接面上阿里...

    前言 多线程是指从软件或者硬件上实现多个线程并发执行的技术.具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能.具有这种能力的系统包括对称多处理机.多核心处理器以 ...

  9. 做程序员的第八个年头——2021年个人工作总结

    本文由Markdown语法编辑器编辑完成. 1. 前言:   不知不觉中,我从研究生毕业实习(2013年2月)工作到现在(2022年1月),已经有8年多的时间了.   在过去八年的职业生涯中,我共经历 ...

最新文章

  1. sql server 2000 版本查询
  2. POJ 1039 Pipe
  3. 婚宴座位图html5,图解现代婚宴座位安排
  4. kotlin编程语言_Kotlin初学者编程基础
  5. ABP入门系列(12)——如何升级Abp并调试源码
  6. 最全的BAT Google等团队技术博客集合
  7. OpenCV--实现图像滑动窗口截取子图操作
  8. python编写es脚本_Elasticsearch 参考指南(如何使用脚本)
  9. Swift - Realm数据库的使用详解(附样例)
  10. python函数笔记_初学Python函数的笔记整理
  11. centos mysql无法启动 sock_CentOS通过yum安装MariaDB(MySQL)无法启动服务或者找不到mysql.sock...
  12. 免费有理—五款免费的网络管理工具介绍
  13. 防计算机病毒的重点,计算机病毒防范技术重点措施(1).doc
  14. [转]十年前的老文:以 Linux 的名义
  15. win7虚拟机_UTM 虚拟机不越狱运行 win7,百分百可以
  16. 马原复习笔记(老师勾画的重点以及相应的习题练习)
  17. nginx 访问a 域名跳转到b域名_微信qq域名防红防封,怎么才能避免自己的域名被屏蔽...
  18. appium通过定位坐标进行定位(兼容模式)
  19. Grid ++ MIME 类型配置 载入报表数据,检查此URL及其数据,错误提示 网络服务器响应不成功
  20. MATLAB中均值、方差、标准差、协方差、相关性的计算

热门文章

  1. signature=18441de5a4bb8df92eb5cf5dcca47d1e,Heroísmo y los medios de comunicación (Capítulo 5A 5B)...
  2. python34怎么安装_简明Python3教程 4.安装
  3. python画图程序没有图_python画图 - v0
  4. 算法——常用的数据结构/模板/基础知识
  5. 后端学习 - SpringBoot
  6. 7-1 装载问题 (10 分)(思路+详解)
  7. 7-1 多数组排序 (12 分)三种做法(冒泡排序 ; 重写sort方法 ;利用sort和栈)
  8. [SpringSecurity]web权限方案_用户授权_基于权限访问控制_基于角色访问控制_hasAuthority和hasAnyAuthority_hasRole和hasAnyRole
  9. 找出有序数组X和Y中所有元素的中位数(X,Y分别含n个元素)(算法导论第三版9.3-8)
  10. 并查集+基础知识点详解