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

在这里插入图片描述

解析

经典大法师(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;
}

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

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

相关文章

直播视频发布:Windows上的Linux容器和Azure混合云中的Kubernetes(k8s)

如果你还没有开始关注容器&#xff0c;那么你已经out了&#xff1b;如果你还在单机上运行容器&#xff0c;那么你out了。经过2013到2018年5年的演化&#xff0c;分化和进化&#xff1b;容器&#xff0c;Docker和Kubernetes已经是任何一家企业的IT解决方案都不能忽视的重要趋势。…

通过Microsoft Learn进行学习以提升技能

通过 Microsoft Learn&#xff0c;可以免费而且轻松有趣地学习 Microsoft 技术。Microsoft Learn的与众不同借助 Microsoft Learn&#xff0c;任何人都能按自己的学习计划和速度掌握重要的知识和概念。 使用者将能够访问培训资料、代码示例&#xff0c;以及免费试用产品。无论是…

asp.net core webApi 参数保护

Introasp.net core data protection 扩展&#xff0c;基于 IDataProtector 扩展的数据保护组件&#xff0c;自动化的实现某些参数的保护ParamsProtectionParamsProtection 是为了保护 asp.net core webapi 项目的某些参数而设计的&#xff0c;也可以用来做一定程度上的反爬虫。…

2021牛客暑期多校训练营2 J-Product of GCDs(数论+计数)

J-Product of GCDs Code1 对于每个质数以及每个质数的次幂单独考虑他们的贡献&#xff0c;由于多次使用快速幂导致TLE #include<bits/stdc.h> using namespace std; using lllong long; template <class Tint> T rd() {T res0;T fg1;char chgetchar();while(!is…

新汉诺塔(洛谷P1242)含第11个数据的解决办法

解析 应该从大到小一个个移&#xff0c;这样后面大盘就可以直接忽略&#xff0c;保证没有冗余操作&#xff0c;必定最优&#xff08;如果先移动小的&#xff0c;后面移动大的时还要动小的&#xff09; 对于第id个从当前位置到目标的移动有两种移动方案&#xff1a; 法1&#x…

让 .Net 更方便的导入导出Excel

Intro因为前一段时间需要处理一些 excel 数据&#xff0c;主要是导入/导出操作&#xff0c;将 Excel 数据转化为对象再用程序进行处理和分析&#xff0c;没有找到比较满意的库&#xff0c;于是就自己造了一个轮子&#xff0c;屏蔽掉了 xlsx 与 xls 的差别&#xff0c;屏蔽了 Np…

P7115-[NOIP2020]移球游戏【构造】

正题 题目链接:https://www.luogu.com.cn/problem/P7115 题目大意 n1n1n1个柱子&#xff0c;前面nnn个上面各有mmm个球&#xff0c;球有nnn种颜色&#xff0c;每种mmm个。 你每次可以把一个柱子最上面的球放到另一个上面&#xff0c;要求在820000820000820000次内使得同种颜色…

无限序列 (ybtoj C.3)

解析 乍一看很蒙的题 首先&#xff0c;a-b1的个数可以等价于**&#xff08;1-b&#xff09;1的个数减去&#xff08;1-a-1&#xff09;1的个数** 分析之后发现&#xff0c;经过多次变换后&#xff1a; 长度 1的个数 1 1 2 1 3 2 5 3 8 5 … … 又是熟悉的斐波拉契。。。 但是我…

2021牛客暑期多校训练营2 L-WeChat Walk(分块)

L-WeChat Walk 每个大点记录一下邻接点的最大步数 每次修改的时候&#xff0c;枚举修改点的邻接的大点来更新 修改大点的时候直接判是不是比邻接点都大 代码抄的std好不容易才看懂~ Code1 #include<bits/stdc.h> using namespace std; template <class Tint> T…

二分算法:平均值(洛谷 UVA1451)

解析 这道题寻找平均值的max&#xff0c;答案明显具有单调性&#xff0c;所以采用二分算法 从0到1不断取中点mid作为平均值的可能点&#xff0c;看是否存在不短于l的数列均值&#xff1e;mid不难得到以下代码&#xff1a; double st0,ed1;for(int i1;i<10;i){double mid(s…

Asp.NetCore依赖注入和管道方式的异常处理及日志记录

前言在业务系统&#xff0c;异常处理是所有开发人员必须面对的问题&#xff0c;在一定程度上&#xff0c;异常处理的能力反映出开发者对业务的驾驭水平&#xff1b;本章将着重介绍如何在 WebApi 程序中对异常进行捕获&#xff0c;然后利用 Nlog 组件进行记录&#xff1b;同时&a…

字符串:凯撒密码(洛谷P1914)

解析 只需将每一位ascll码加n即可 但要注意的是c的ascll码是有上限的 我一开始是这么写的&#xff1a; for(int i1;i<l;i){s[i] n;while(s[i]>z) s[i] - 26;printf("%c",s[i]);}结果&#xff1a; (真的是随便打的&#xff0c;不巧有些攻击性。。&#xff0…

.NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练

写在前面上篇文章.NET Core实战项目之CMS 第三章 入门篇-源码解析配置文件及依赖注入我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程&#xff0c;然后又带着大家熟悉了一遍配置文件的加载方式&#xff0c;最后引出了依赖注入以及控制反转的概念&#xff01;如果…

高精度:麦森数*(洛谷P1045)

P1045 [NOIP2003 普及组] 麦森数 解析 看似只是正常的一个高精 然而 暗藏杀机 一开始随手那么一写 。。。 (即使用了快速幂)时间复杂度过于感人 后来我们发现&#xff1a; 第一问位数的计算不必真的算出来&#xff0c;只需把2的p次幂转化为10的k次幂即可&#xff08;具体请…

彼之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践

“描述一个事物&#xff0c;唯有一个名词定义它的概念&#xff0c;唯有一个动词揭露它的行为&#xff0c;唯有一个形容词表现它的特征。要做的&#xff0c;就是用心去寻找那个名词、那个动词、那个形容词……”—— 福楼拜 (Gustave Flaubert)我想讲个故事。很久很久以前&#…

贪心: Array Splitting(数列分段)(洛谷CF1175D)

解析 这题可以转化一下&#xff1a; &#xff08;《神笔马良》。。。。&#xff09; 计算这些长方形对应下标的总加和 我们可以一层一层往上垒,假设第i层起始点为xi&#xff0c;总和为sumi&#xff0c;再设从1到i的前缀和为si 显然第一层x11&#xff0c;sum1sn 对于第二层x2&…

Docker最全教程——从理论到实战(一)

容器是应用走向云端之后必然的发展趋势&#xff0c;因此笔者非常乐于和大家分享我们这段时间对容器的理解、心得和实践。本篇教程持续编写了2个星期左右&#xff0c;只是为了大家更好地了解、理解和消化这个技术&#xff0c;能够搭上这波车。你可以关注我们的公众号“magiccode…

二分:路标设置(洛谷)

传送门. 解析 只需二分枚举空旷指数即可 对于单次判断的check函数&#xff0c;可以相当于n个路标把路面分成n1个间隔&#xff0c;而对于每个间隔[l,r]和空旷指数x&#xff08;边界已有路标&#xff09;&#xff0c;所需路标应为&#xff1a; (r-l-1)/x&#xff08;比如[2,5…

二分:[BJWC2008]秦腾与教学评估

洛谷传送门 解析 因为至多有一个单数 假设其位置为k&#xff0c;1-i的累加和为s[i] 则s[1]-s[k-1]全是偶数 s[k]-s[max]全是奇数 答案呈单调性&#xff0c;可以用二分算法 check函数&#xff08;计算前缀和&#xff09;也很容易用O&#xff08;n&#xff09;写出&#xff1a…

微软Azure予力Green Dot客服成就不凡

点击蓝字关注我碧点公司&#xff08;Green Dot&#xff09;是仔细聆听消费者心声&#xff0c;以消费者为导向的金融科技创新公司&#xff0c;致力于为大众带来高效、便捷与体验舒适的个人银行业务。Green Dot创造了预付借记卡产业&#xff0c;也是美国最大的可增值预付借记卡和…