当前位置: 首页 > news >正文

N皇后问题解的个数

 

暴力递归

#include <stdio.h>int count=0,a[15],flag;
void queen(int,int);
int main(){int n;scanf("%d",&n);queen(n,n);printf("%d",count);
}
void queen(int n,int n0){if(n<1){flag=1;for(int i=1;i<=n0;i++){for(int j=1;j<=n0;j++){if(a[i]==a[j]&&i!=j)flag=0;if((a[i]-a[j]==i-j&&i!=j)||(a[i]-a[j]==j-i&&i!=j))flag=0;}}if(flag==1)count++;}else{for(int i=1;i<=n0;i++){a[n]=i;queen(n-1,n0);}}
}

不那么暴力递归

#include <stdio.h>int count=0,a[15],flag;
void queen(int,int);
int main(){int n;scanf("%d",&n);for(int i=0;i<=0;i++){a[i]=0;}queen(n,n);printf("%d",count);
}
int isconflict(int n0){for(int i=1;i<=n0;i++){for(int j=1;j<=n0;j++){if(a[i]==a[j]&&i!=j){return 0;}if((a[i]-a[j]==i-j&&i!=j)||(a[i]-a[j]==j-i&&i!=j)){return 0;}}}return 1;
}
void queen(int n,int n0){if(n<1){flag=1;flag= isconflict(n0);if(flag==1)count++;}else{for(int i=1;i<=n0;i++){for(int j=n0;j>n;j--){if(a[j]==i&&i+1<=n0)i++;if((i-a[j]==n-j||a[j]-i==n-j)&&i+1<=n0)i++;}a[n]=i;queen(n-1,n0);}}
}

 最终

#include <stdio.h>int count, mark;void test(int col, int ld, int rd) {if (col != mark) {int pos = mark & ~(col | ld | rd);while (pos) {int p = pos & -pos;pos -= p;test(col | p, ((ld | p) << 1) & mark, (rd | p) >> 1);}} else {count++;}
}int main() {int n;scanf("%d", &n);count = 0;mark = 1;mark = (mark << n) - 1;test(0, 0, 0);printf("%d\n", count);return 0;
}

相关文章:

N皇后问题解的个数

暴力递归 #include <stdio.h>int count0,a[15],flag; void queen(int,int); int main(){int n;scanf("%d",&n);queen(n,n);printf("%d",count); } void queen(int n,int n0){if(n<1){flag1;for(int i1;i<n0;i){for(int j1;j<n0;j){if(…...

php订单发起退款(余额和微信支付)

index.html <a class="btn btn-danger btn-change btn-tuikuan btn-disabled" href="javascript:;"><i class="fa fa-tuikuan"></i> 订单退款</a>-->order.js // 为表格绑定事件Table.api.bindevent(table);//退款…...

【SpringCloud】认识微服务、服务拆分以及远程调用

SpringCloud 1.认识微服务 1.1单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署 单体架构的优缺点&#xff1a; 优点&#xff1a; 架构简单&#xff0c;部署成本低 缺点&#xff1a; 耦合度高&#xff08;维护困难&#x…...

Mysql基础操作(命令行)

文章目录 Mysql基础操作&#xff08;命令行&#xff09;背景创建数据库选择数据库查看所有表查看表结构向表插入数据插入第一条插入第二条插入第三条 查询表数据修改表数据删除表数据 Mysql基础操作&#xff08;命令行&#xff09; 背景 docker安装mysql8&#xff0c;映射本地…...

网站遇到DDOS攻击怎么办?

最近我的网站不幸又遇到了几乎是我见到过的最大一次 DDoS 攻击&#xff0c;并且几乎是没有反映的时间&#xff0c;直接接到腾讯云的短信通知“运营商封堵”&#xff0c;直接造成几个小时无法访问&#xff0c;解封后再次遭受到大流量 DDoS 攻击&#xff0c;再次被“腾讯云平台封…...

中间件渗透测试-Server2131(解析+环境)

B-10&#xff1a;中间件渗透测试 需要环境的加qq 任务环境说明&#xff1a; 服务器场景&#xff1a;Server2131&#xff08;关闭链接&#xff09; 服务器场景操作系统&#xff1a;Linux Flag值格式&#xff1a;Flag&#xff5b;Xxxx123&#xff5d;&#xff0c;括…...

探究Kafka原理-2.Kafka基本命令实操

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44…...

Linux网卡没有eth0显示ens33原因以及解决办法

原因 首先说明一下eth0 与 ens33的关系&#xff1a; 目前的主流网卡为使用以太网络协定所开发出来的以太网卡&#xff08;Ethernet),因此我们Linux就称呼这种网络接口为ethN(N为数字)。 举个栗子&#xff1a;就是说主机上面有一张以太网卡&#xff0c;因此主机的网络接口就是…...

1.前端--基本概念【2023.11.25】

1.网站与网页 网站是网页集合。 网页是网站中的一“页”&#xff0c;通常是 HTML 格式的文件&#xff0c;它要通过浏览器来阅读。 2.Web的构成 主要包括结构&#xff08;Structure&#xff09; 、表现&#xff08;Presentation&#xff09;和行为&#xff08;Behavior&#xff…...

计算机视觉面试题-01

计算机视觉面试通常涉及广泛的主题&#xff0c;包括图像处理、深度学习、目标检测、特征提取、图像分类等。以下是一些可能在计算机视觉面试中遇到的常见问题&#xff1a; 图像处理和计算机视觉基础 图像是如何表示的&#xff1f; 图像在计算机中可以通过不同的表示方法&…...

108. 将有序数组转换为二叉搜索树 --力扣 --JAVA

题目 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 解题思路 可以采用二分法&#xff0c;每次选数组中间值为…...

Springboot实现增删改差

一、包结构 二、各层代码 (1)数据User public class User {private Integer id;private String userName;private String note;public User() {super();}public User(Integer i, String userName, String note) {super();this.id i;this.userName userName;this.note note;…...

【程序员的自我修养01】编译流程概述

绪论 大家好&#xff0c;欢迎来到【程序员的自我修养】专栏。正如其专栏名&#xff0c;本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度&#xff0c;我会尽自己最大的努力&#xff0c;争取…...

在PyCharm中正确设置Python项目

大家好&#xff0c;在Mac和Linux都支持Python&#xff0c;但许多开发者发现正确设置Python项目很困难。本文汇总了多平台中运行Python的方法&#xff0c;提高编程的效率&#xff0c;如下所示&#xff1a; 使用命令行运行Python。 在PyCharm&#xff08;免费社区版&#xff09;…...

scoop bucket qq脚本分析(qq绿色安装包制作)

url字段 以qq.json为例&#xff0c;其对应的scoop配置文件在$env:scoop\buckets\extras\bucket\qq.json 其中的url字段 "url":"https://webcdn.m.qq.com/spcmgr/download/QQ9.7.17.29230.exe#/dl.7z"为qq安装包下载地址&#xff0c;后缀#/dl.7z为自行添加…...

Elasticsearch:将最大内积引入 Lucene

作者&#xff1a;Benjamin Trent 目前&#xff0c;Lucene 限制 dot_product (点积) 只能在标准化向量上使用。 归一化迫使所有向量幅度等于一。 虽然在许多情况下这是可以接受的&#xff0c;但它可能会导致某些数据集的相关性问题。 一个典型的例子是 Cohere 构建的嵌入&#x…...

YOLOV7主干改进,使用fasternet轻量化改进主干(完整教程)

1&#xff0c;Pconv&#xff08;来自Fasternet&#xff09;&#xff08;可作为模型中的基础卷积模块使用&#xff09; 论文链接&#xff1a;https://arxiv.org/abs/2303.03667 2&#xff0c;为了大家方便的使用&#xff0c;这里我对原本的PConv的代码做了部分的改动&#xff0…...

DALSA.SaperaLT.SapClassBasic无法加载,试图加载格式不正确的程序,c#

情景&#xff1a;用c#wpf写DALSA线扫相机的项目&#xff0c;生成时不报错&#xff0c;运行到DALSA相关的代码就报错找不到dll&#xff08;DALSA的技术支持没给到任何支持 &#xff09; 一.根据框架选择dll 如果是.net framework框架&#xff08;比如说.net480&#xff09;&am…...

设计模式-创建型模式-工厂方法模式

一、什么是工厂方法模式 工厂模式又称工厂方法模式&#xff0c;是一种创建型设计模式&#xff0c;其在父类中提供一个创建对象的方法&#xff0c; 允许子类决定实例化对象的类型。工厂方法模式是目标是定义一个创建产品对象的工厂接口&#xff0c;将实际创建工作推迟到子类中。…...

科研/比赛必备工具及系列笔记集合

科研/比赛必备工具及系列笔记集合 零、前言一、常用工具系列1.1 笔记平台使用感受系列1.2 常用开发平台系列 二、论文系列2.1 检索工具系列2.2 投稿调研系列2.3 常见国际期刊/会议2.4 常见中文核心期刊/会议 三、文献系列3.1 画图工具系列3.2 翻译工具系列3.3 英文纠正系列3.4 …...

5分钟快速上手FF14动画跳过插件:告别冗长副本动画

5分钟快速上手FF14动画跳过插件&#xff1a;告别冗长副本动画 【免费下载链接】FFXIV_ACT_CutsceneSkip 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip 还在为《最终幻想14》副本中冗长的动画而烦恼吗&#xff1f;这款专为CN服务器设计的智能跳…...

如何用游戏化编程学习让300万学生爱上代码?CodeCombat完整指南

如何用游戏化编程学习让300万学生爱上代码&#xff1f;CodeCombat完整指南 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat 还在为枯燥的编程语法而烦恼吗&#xff1f;想象一下&#xff0c;在奇幻…...

如何快速永久保存微信聊天记录:WeChatMsg免费工具终极指南

如何快速永久保存微信聊天记录&#xff1a;WeChatMsg免费工具终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...

从“对话机器人”到“全能数字员工”:一文彻底搞懂 AI Agent(附大量代码实战)

你肯定用过 ChatGPT 聊天&#xff0c;但你知道怎么让 AI 自己动手查天气、买火车票、发邮件吗&#xff1f; 今天&#xff0c;我们就来聊聊 AI 界的“全能数字员工”——AI Agent&#xff0c;并用超详细的代码带你亲手打造一个&#xff01;前言&#xff1a;大模型是“学霸”&…...

AI写论文别担心!4款AI论文写作利器,轻松应对论文创作挑战

你是不是也在为撰写期刊论文、毕业论文或职称论文而感到无从下手呢&#xff1f;在写论文时&#xff0c;面对浩如烟海的文献资料&#xff0c;仿佛在大海中寻找针&#xff0c;繁杂的格式要求更是让人无从着手&#xff0c;反复的修改不断消耗着你的耐心&#xff0c;写作效率低下令…...

2026香港公司注册哪家强?效率、服务、口碑三维测评TOP5榜单

在香港及大湾区经济深度融合、企业跨境布局加速推进的背景下&#xff0c;中小企业面临着公司注册流程繁杂、银行开户门槛高企、后续维护成本不可控等多重挑战&#xff0c;同时也迎来了政策红利释放、跨境贸易便利化带来的全新机遇。商业服务机构作为企业合规起步、稳健运营的重…...

嵌入式Linux实战:基于IMX6ULL与ZigBee的智能仓储环境监控系统

1. 项目背景与核心价值 在工业4.0时代&#xff0c;仓储管理正经历着从传统人工操作向智能化转型的关键阶段。去年我接手了一个食品企业的仓库改造项目&#xff0c;他们的痛点非常典型&#xff1a;冷链仓库温度波动导致货物损耗、人工巡检效率低下、异常响应延迟等问题频发。这正…...

May协程库实战:构建10万并发连接的Echo服务器

May协程库实战&#xff1a;构建10万并发连接的Echo服务器 【免费下载链接】may rust stackful coroutine library 项目地址: https://gitcode.com/gh_mirrors/ma/may May是一个基于Rust的stackful协程库&#xff0c;它提供了轻量级的并发编程能力&#xff0c;特别适合构…...

安立Anritsu MS9740B台式光谱分析仪概述

安立Anritsu MS9740B台式光谱分析仪概述安立MS9740B是一款高性能台式光谱分析仪&#xff0c;广泛应用于光通信、激光器测试、光纤传感等领域。其设计兼顾高精度与操作便捷性&#xff0c;支持波长范围覆盖600至1750 nm&#xff0c;分辨率带宽可达0.05 nm。主要技术参数波长范围&…...

SQLite数据库C++基础用法

1. 引言 笔者最近在做嵌入式Linux应用项目中需要用到SQLite数据库&#xff0c;因此本期分享一下其基础知识。SQLite 是一个嵌入式、无服务器的轻量级关系型数据库&#xff0c;它以函数库形式直接集成到应用程序中&#xff0c;将整个数据库存储为单个普通文件&#xff0c;无需安…...