棋盘问题(放置棋子)

article/2025/8/23 8:16:40

题目:

题目解析:

在n*n的矩阵内描述棋盘,棋盘的“形状”输入决定,只能在#的位置放棋子,棋子不能同行,不能同列。

思路:

逐行尝试,放完第一行放第二行……每行的#都要尝试,同时用一个数组来标记一列上是否已经存在棋子。相当于每次从第一行的某个#出发,前往下一行的#,直到最后一行或者把棋子放完,有点类似于dfs,用递归最方便:

代码:

#include<iostream>
#include<vector>
#include<string>
using namespace std;int cnt = 0;void placeInRow(int row, int k, int n, vector<string>& board, vector<bool>& cols)
{if (k == 0)//如果棋子已经放完了,方案加1{cnt++;return;}if (row == n)//如果最后一行已经放完了,那么结束return;//尝试在当前行的每个有效位置放置棋子for (int col = 0; col < n; col++){if (board[row][col] == '#' && !cols[col]){cols[col] = true;placeInRow(row + 1, k - 1, n, board, cols);//处理下一行cols[col] = false;//回溯的时候要清理棋子}}//当前行无法放置棋子,直接调到下一行placeInRow(row + 1, k, n, board, cols);
}int main()
{int n, k;while (cin >> n >> k){if (n == -1 && k == -1)break;vector<string> board(n);//棋盘for (int i = 0; i < n; i++)cin >> board[i];//读取棋盘信息cnt = 0;//每一轮重置一次countvector<bool> cols(n, false);//列标记placeInRow(0, k, n, board, cols);cout << cnt << endl;}return 0;
}


http://www.hkcw.cn/article/LGpGLCallQ.shtml

相关文章

中国租借达尔文港99年是美国心病,美国三位总统都想“拔钉子”!

中国租借达尔文港99年是美国心病。美国“心病”:中国租借达尔文港99年,美国三位总统都想“拔钉子”!直新闻特约评论员刘和平认为,美国三位总统都对达尔文港被中国企业租借99年这件事情耿耿于怀,这背后实际上涉及到了美国在“印太地区”的整体部署与长期战略。近些年,随着…

存款降息或引发存款搬家 投资者寻找替代产品

存款降息或引发存款搬家 投资者寻找替代产品。随着国有大行和股份行相继下调存款利率,中小银行也纷纷跟进。多家银行定期存款利率已全面调整为“1字头”,高息大额存单因额度紧张而难以购买。一位投资者表示,定存利息太低,手中的存单到期后打算转投理财。在多个社交平台上,…

小伙拍下1300年荔枝树采摘权,被人们称作“荔枝界的茅台”

小伙拍下1300年荔枝树采摘权。在大家的常规认知里,荔枝无非就是超市、水果摊上常见的水果,花点小钱就能买上几斤解解馋。可就在最近,一位90后的小伙做出了一件让人惊掉下巴的事儿——他花1.3万元拍下了一棵有着1300年历史荔枝树的采摘权!这消息一传出,瞬间就像一颗炸弹投入…

手机设备多?怎样设置IP保证不关联

在移动互联网时代&#xff0c;多设备运营&#xff08;如电商、游戏工作室、社交媒体矩阵&#xff09;常面临IP关联风险&#xff0c;轻则账号受限&#xff0c;重则封禁。以下提供6种高效设置独立IP的方法&#xff0c;结合技术原理与实操建议&#xff0c;助您打造稳定合规的运营环…

Magentic-UI:人机协作的网页自动化革命

Magentic-UI是微软开源的一款创新浏览器自动化工具&#xff0c;基于多智能体系统和AutoGen框架设计&#xff0c;强调人机协作、透明性和安全控制&#xff0c;通过协作规划、实时执行和计划学习机制&#xff0c;高效处理复杂网页任务如数据抓取和表单填写&#xff0c;显著提升任…

Vehicle HAL(1)--整体介绍

AOSP 官网介绍&#xff1a; https://source.android.com/docs/automotive/vhal VHAL 简介&#xff1a; Android Automotive and Physical Car Interaction | Android Automotive OS Book Vehicle HAL Properties&#xff1a; https://source.android.com/docs/automotive/…

网络渗透基础:信息收集

1.信息收集 whois xx.com 域名注册信息 注册人、电话、email Whois.chinaz.com kali自带whois工具 域名备案信息 Beian.miit.gov.cn Tianyancha.com Icp.chinaz.com 爱站 Sou.xiaolanben.com 2.子域名收集 收集方式 枚举&#xff1a;基于字典搜索引擎&#xff1a;googleh…

【LeetCode 热题 100】最小路径和 / 最长回文子串 / 最长公共子序列 / 编辑距离

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;LeetCode 热题 100 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 不同路径最小路径和最长回文子串最长公共子序列编辑距离 不同路径 不同路径 class Solution { public:int uniquePa…

PS图像处理软件|Photoshop 2025网盘下载与安装指南

对于Photoshop这款软件&#xff0c;相信大家都不会陌生。不管是平面设计专业的高材生&#xff0c;还是从事于设计工作、或业余需要修图的小伙伴&#xff0c;或多或少都用到过PS这款工具。但是&#xff0c;Adobe Photoshop的发展背景&#xff0c;又有多少人知晓呢&#xff1f; …

weaviate向量库从零开始——weaviate cloud数据向量化完整实例解析

在上篇《weaviate向量库从零开始——weaviate集合、对象管理从零代码开始详解》我们讲解了weaviate数据库对数据对象的相关操作&#xff0c;但是其相关检索操作并没有相关向量化数据的检索。只有我们启用了相关向量化模型才会对数据对象做向量化并生成相对的向量数据以作语义检…

NC65 startup.bat||sysConfig.bat||stop.bat闪退

NC65 双击 startup.bat NC65 双击 sysConfig.bat NC65 双击 stop.bat 闪退 sysConfig.bat不可以使用 选择sysConfig.bat右键编辑&#xff0c;加入下列代码 set JAVA_HOME"E:\NCsystem\yonyouzhengshi20250516\yonyouzhengshi\ufjdk"其中路径为home下面的ufjdk 原…

09《从依赖管理到容器化部署:Maven 全链路实战笔记,解锁 Java 项目自动化构建的终极奥秘》

目录 一、Maven 核心基础强化 &#xff08;一&#xff09;Maven 架构与工作原理 1. 核心组件解析 2. 工作流程图示​编辑 &#xff08;二&#xff09;项目结构深度实践 1. 标准目录扩展说明 2. 多模块项目典型结构示例​编辑 二、依赖管理高级进阶 &#xff08;一&…

t006-艺体培训机构业务管理系统

项目演示视频 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装艺体培训机构业务管理系统软件来发挥其高效地…

贵州公路上300斤巨石砸汽车 地质灾害引发险情

贵州公路上300斤巨石砸汽车 地质灾害引发险情!5月28日,贵州毕节市七星关区何官屯镇的一条通村公路上发生落石事故。一块约300斤重的巨石砸中一辆过路汽车,导致车辆从路边高坎坠落。司机受轻伤,送医检查后当日返家,车损由保险公司处理。落石还击碎了附近民房的玻璃门,但无…

Whole-body Humanoid Robot Locomotion with Human Reference

Whole-body Humanoid Robot Locomotion with Human Reference 研究动机解决方案技术路线基于AMP从人类参考运动中学习人形机器人端到端强化学习 实验结果 Whole-body Humanoid Robot Locomotion with Human Reference 研究动机 传统机器人控制算法通常依赖对环境的准确建模&a…

行业沙龙 | 博睿数据联合承办2025 湾区金科(FinTech)沙龙——智能运维专场,分享主题演讲

日前&#xff0c;由深圳市金融科技协会主办、深圳金融AI生态联盟与博睿数据联合承办的湾区金科(FinTech)沙龙(第七十二期)——智能运维专场&#xff0c;在深圳成功举办。本次沙龙聚焦金融行业运维转型升级&#xff0c;旨在推动智能运维的蓬勃发展与广泛应用&#xff0c;助力金融…

鲜羊奶对青少年心理健康的 “技术向” 营养支持

在数字化浪潮席卷心理健康领域的今天&#xff0c;当我们聚焦 AI 心理测评、大数据情绪监测时&#xff0c;羊大师却从生物化学 “底层代码” 切入 —— 发现鲜羊奶中的营养成分&#xff0c;正以类似 “技术优化” 的逻辑&#xff0c;为青少年心理健康提供独特支撑。以下从三大 “…

【达梦数据库】临时表空间不足

问题1&#xff1a;SQL应用端报错&#xff1a;超出表空间限制 1、应用执行SQL的过程中&#xff0c;临时表空间占用率超过100%&#xff0c;报错&#xff1a; 2、查看数据库日志&#xff0c;未发现任何有关的报错&#xff1b; 3、增加临时表空间的数据文件1个&#xff0c;最大值…

InnoDB中的锁

InnoDB中的锁机制是MySQL中实现事务隔离和数据一致性的核心部分。它通过多种锁类型和等级&#xff0c;控制多个事务对同一数据的并发访问&#xff0c;保证数据的完整性与一致性。 主要锁类型 1.行锁&#xff08;Row Lock&#xff09; 定义&#xff1a;锁定单个行记录。InnoDB…