[USACO1.5] 八皇后 Checker Challenge
题目描述
一个如下的 6 x 6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。

上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:
行号 1 2 3 4 5 6
列号 2 4 6 1 3 5
这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。
并把它们以上面的序列方法输出,解按字典顺序排列。
请输出前 3 个解。最后一行是解的总个数。
输入格式
一行一个正整数 n,表示棋盘是 n x n 大小的。
输出格式
前三行为前三个解,每个解的两个数字之间用一个空格隔开。第四行只有一个数字,表示解的总数。
样例 #1
样例输入 #1
6
样例输出 #1
2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4
提示
【数据范围】
对于 100% 的数据,6 <= n <= 13。
题目翻译来自NOCOW。
USACO Training Section 1.5
这是深搜的经典题目,可以分别对行,列,对角线做标记来做这道题。其中我们可以发现,一条对角线上,行和列的和和差的值是一样的。
#include <iostream>
using namespace std;
const int N = 100;
int a[N], b[N], c[N], d[N];//分别表示行,列和当前坐标的两条对角线
int n, total;
void queen(int x)
{if (x > n){if (total <= 2)//只输出前三个答案{for (int j = 1; j <= n; j++)cout << a[j] << " ";cout << "\n";}total++;return;}else{for (int i = 1; i <= n; i++){if (!b[i] && (!c[i + x]) && (!d[x - i + n])){a[x] = i;b[i] = 1;c[i + x] = 1;d[x - i + n] = 1;queen(x + 1);//遍历下一个b[i] = 0;//恢复标记c[i + x] = 0;d[x - i + n] = 0;}}}
}
int main()
{cin >> n;queen(1);//第一个皇后cout << total;
}
相关文章:
[USACO1.5] 八皇后 Checker Challenge
题目描述 一个如下的 6 x 6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列 2 4 6 1 3 5 来描述,第…...
【Mysql】MVCC版本机制的多并发
🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…...
Vue--》打造个性化医疗服务的医院预约系统(六)
今天开始使用 vue3 + ts 搭建一个医院预约系统的前台页面,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关…...
Unity ARFoundation 配置工程 (Android)
注意: 1、AR Core是Google的产品,因为谷歌制裁华为,所以 有些 华为机可能不支持AR Core的软件; 2、手机在设置里搜索Google Play,看看是否已经安装上了,如果没有装此服务,去商城里搜索Google Pl…...
【广州虚拟现实开发】VR智能中控系统进一步提高VR教学管理水平
随着科技的不断发展,虚拟现实(VR)技术已经逐渐走进了人们的生活。在教育领域,VR技术也得到了广泛的应用,尤其是在教学终端中控系统方面。那么,广州华锐互动开发的VR智能中控系统对学校有何益处呢? 首先,VR智…...
关于WordPress 的时间倒计时
点击跳转...
极光笔记 | 如何为您的业务开发和训练一个AI-BOT
生成式AI(Generative AI)是当今科技领域的前沿技术之一。随着数据量的不断增加和计算能力的不断提升,AI技术在企业和个人生活中的应用越来越广泛。AI-BOT(以下简称BOT)是生成式AI技术的其中一种重要的应用形式…...
如何给ELK日志加上索引
问题记录 1、遇到长流程的时候,日志记录是非常重要的。如何排查日志,可以在MDC中去put对应的值,这样就等于对你关心的关键字段加上了索引,在elk中可以通过该索引就能 容易排查到问题 logback的设置 可以参照: 【总体…...
elementUI遇到的问题记录
一、 组件:el-table 问题:使用动态数据创建多级表头后,刷新页面时,table行会串行,某些列丢失,图片列未显示图片 解决方案:给el-table增加key <el-table :key"${Matn.random()}${ite…...
计算机竞赛 协同过滤电影推荐系统
文章目录 1 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …...
网络综合布线实训室建设方案
一、网络综合布线系统概述 网络综合布线系统是为了满足数据通信需求而设计和建立的一套基础设施。它提供了数据传输、信号传输和电力供应的基础结构,支持各种网络设备和终端设备之间的连接。 网络综合布线系统通常包括以下组成部分: 1) 数据…...
【山河送书第七期】:《强化学习:原理与Python实战》揭秘大模型核心技术RLHF!
《强化学习:原理与Python实战》揭秘大模型核心技术RLHF! 一图书简介二RLHF是什么?三RLHF适用于哪些任务?四RLHF和其他构造奖励模型的方法相比有何优劣?五什么样的人类反馈才是好反馈?六如何减小人类反馈带来…...
LeetCode 400. 第 N 位数字——JAVA
题目描述: 给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 n 位上的数字。 示例 1: 输入:n 3 输出:3示例 2: 输入:n 11 输出࿱…...
解决生成式AI落地之困,亚马逊云科技提供完整解决方案
生成式AI技术无疑是当前最大的时代想象力之一。 资本、创业者、普通人都在涌入生成式AI里去一探究竟:“百模大战”连夜打响,融资规模连创新高,各种消费类产品概念不断涌现……根据Bloomberg Intelligence 的报告,2022年生成式AI 市…...
【5款登录验证校验】基于jquery实现的5款登录验证码组件(附完整源码)
文章目录 写在前面涉及知识点1、随机字母验证码1.1 效果1.2 实现源码 2、数字运算验证码2.1 效果2.2 实现源码 3、滑块验证码3.1 效果3.2 实现源码 4、图片补全验证码4.1 效果4.2 实现源码 5、顺序点选验证码5.1 效果5.2 实现源码 6、源码分享6.1 百度网盘6.2 123网盘6.3 邮箱留…...
数据结构的树存储结构
数据结构的树存储结构 之前介绍的所有的数据结构都是线性存储结构。本章所介绍的树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。 (A) (B) 图 1 树的示例 图 …...
linux--epoll
epoll 参考文献 https://www.cnblogs.com/lojunren/p/3856290.html https://www.51cto.com/article/717096.html linux下的I/O复用epoll详解 要深刻理解epoll,首先得了解epoll的三大关键要素:mmap、红黑树、链表。 IO多路复用 首先需要了解什么是IO多…...
async和await
一,基本使用 其实就是之前学过的异步函数,异步编程在函数前写一个ansyc,就转化为异步函数,返回的是一个promise对象,于是就可以使用await关键字,可以把异步函数写成同步函数的形式,极大地提高代…...
如何从cpu改为gpu,pytorch,cuda
1.cmd输入nvcc -V 2.得到 cuda版本后,去pytorch官网 3.根据自己的cuda进行选择 4.复制上述链接,进入cmd 5.cmd中输入activate XXX,这里的"XXX"指代自己在工程中用到的环境 6.进入后,将刚才链接粘贴,回车等待下载结束 …...
JavaScript简介--语句--变量
目录 JavaScript简介 为什么学习 JavaScript JavaScript与ECMAScript的关系 JavaScript版本 JavaScript语句、标识符 语句 标识符 JavaScript保留关键字 变量 变量的命名规则 数据类型 变量的重新赋值 变量提升 运算符 条件语句 循环语句 JavaScript简介 JavaScri…...
嵌入式网络开发避坑:LwIP软件定时器溢出处理与链表排序的实战细节
嵌入式网络开发避坑:LwIP软件定时器溢出处理与链表排序的实战细节 在嵌入式网络开发中,LwIP协议栈因其轻量级和高度可裁剪性成为众多开发者的首选。然而,在实际应用中,软件定时器的溢出处理和链表排序逻辑往往是引发隐蔽问题的重灾…...
GX Works3实战:基于TCP+SLMP协议与三菱FX5U的工业互联配置详解
1. 从零开始搭建FX5U通信环境 第一次接触三菱FX5U系列PLC时,我被它小巧的机身和强大的性能惊艳到了。这款PLC虽然体积只有传统Q系列的一半大小,但处理能力却提升了两倍以上。不过在实际项目中,最让我头疼的就是通信配置问题——特别是从老项…...
别再为测试视频发愁了!手把手教你用FFmpeg生成YUV/RGB原始数据(附播放命令)
音视频开发实战:FFmpeg高效生成与播放YUV/RGB测试素材指南 在音视频编解码器开发、计算机视觉算法测试或多媒体性能调优过程中,开发者经常面临一个共同难题:如何快速获取特定像素格式的原始视频数据作为测试素材?网上现成的YUV或R…...
告别传统编程:用AI语音命令5倍速开发Godot游戏
告别传统编程:用AI语音命令5倍速开发Godot游戏 【免费下载链接】Godot-MCP An MCP for Godot that lets you create and edit games in the Godot game engine with tools like Claude 项目地址: https://gitcode.com/gh_mirrors/god/Godot-MCP 还在为复杂的…...
基于Unity的地牢游戏开发
1.数字字符串转数字System.Globalization.NumberStyles hexNum; // 专门的枚举成员,解析16进制字符串 hexNum System.Globalization.NumberStyles.HexNumber;int.Parse(tileNums[i], hexNum);2.注意:文件读取是从上到下,而 Unity y轴 …...
S32K3开发板三色LED点灯实战:从引脚配置到代码烧录的保姆级避坑指南
S32K3开发板三色LED点灯实战:从引脚配置到代码烧录的保姆级避坑指南 当一块崭新的S32K3开发板摆在面前,闪烁的LED往往是开发者与之对话的第一个"Hello World"。本文将带你用最直观的方式——控制RGB三色灯,快速建立对NXP这款车规级…...
Windows电脑运行安卓应用终极指南:APK安装器完整教程
Windows电脑运行安卓应用终极指南:APK安装器完整教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想过,在Windows电脑上直接运行安…...
RISC-V开发板结合Python实现B站消息监测:硬件极客的IoT实践
1. 项目概述:当硬件极客遇上日常痛点前几天在极客社区里看到一个挺有意思的分享,一位开发者朋友用一块高性能的RISC-V开发板,结合自己写的Python脚本,做了一个B站未读消息的实时监测器。这项目乍一听有点“杀鸡用牛刀”的感觉——…...
2009-2024年日本人口统计数据
本数据集为日本多层级行政区划的人口统计数据,涵盖都道府县、城市以及政令指定都市的市区三级空间单元,记录了人口规模、结构及动态变化等核心指标。数据可用于人口演变分析、区域发展研究及空间计量模型构建。基于此数据集,可系统开展以下研…...
STM32 ADS1115接口文件(HAL库+硬件IIC)
STM32 ADS1115接口文件(HAL库硬件IIC) 【下载地址】STM32ADS1115接口文件HAL库硬件IIC 本资源包专为STM32系列微控制器设计,旨在简化通过HAL库利用硬件IIC接口与ADS1115高精度模拟到数字转换器(ADC)交互的过程。ADS1115是一款高性能的16位ΔΣ…...
