棋盘问题

十二届蓝桥杯青少年Python组省赛试题 第十二届省赛青少年Python组试题 阅读详情

在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。

Input

输入含有多组测试数据。 
每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n 
当为-1 -1时表示输入结束。 
随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。 

Output

对于每一组数据,给出一行输出,输出摆放的方案数目C (数据保证C<2^31)。

Sample Input

2 1
#.
.#
4 4
...#
..#.
.#..
#...
-1 -1

Sample Output

2
1
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
char m[11][11];
int flag[11];
//int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
int n,k;
int cnt=0;
void dfs(int x,int step){
    if(step==k){
        cnt++;
        return;
    }
    if(x>=n)
        return;
    for(int j=0;j<n;j++){
        if(m[x][j]=='#'&&flag[j]!=1){
            flag[j]=1;
            dfs(x+1,step+1);
            flag[j]=0;
        }

    }
    dfs(x+1,step);
}
int main()
{
    while(true){
        memset(m,0,sizeof(m));
        memset(flag,0,sizeof(flag));
        cnt=0;
        cin>>n>>k;
        if(n==-1&&k==-1)
            break;
        for(int i=0;i<n;i++)
            scanf("%s",m[i]);
        dfs(0,0);
        cout<<cnt<<endl;
    }
    return 0;
}

 

STM32H7 FMC驱动TFT-LCD原理与实战 TFT-LCD并行接口驱动是嵌入式人机交互的基础技术,其核心在于将显示控制器抽象为存储器映射设备,依托硬件时序控制器实现低开销、高确定性刷新。FMC(Flexible Memory Controller)作为STM32H7系列的关键外设,通过地址/数据总线复用、可配置读写时序及Bank分区机制,支持将ILI9341、ST7789等主流LCD控制器挂载为‘慢速异步存储器’,从而替代GPIO模拟8080时序或LTDC+DMA2D方案。该技术显著降低CPU占用率,提升帧率稳定性,适用于工业HMI、实时仪表盘等对响 阅读详情

相关推荐

如何查看在电脑里登陆过的微信帐号的聊天记录

打开微信电脑版,点击左下角 "≡" 菜单 → 选择 "设置"进入 "账号与存储"(旧版为" 文件管理 ")选项卡在 "存储位置"一栏查看当前实际保存路径,可点击" 打开文件夹 " 直接访问查看电脑里登录过的微信账号聊天记录,首选官方客户端直接登录查看,操作简单且安全;若账号已退出,可通过备份恢复功能处理;仅需查看媒体文件时,可定位到FileStorage 文件夹直接访问。无论哪种方式,都需遵守隐私保护原则,并注意聊天记录的加密特性限制。

捷利迅分享的博客 4546

棋盘问题c++

摘要: 本文探讨了在给定不规则棋盘上摆放k个棋子的方案数计算问题。棋子不可同行同列,且只能放在标记为‘#’的位置。采用回溯法逐行处理,选择有效列放置棋子,通过递归和状态回溯统计所有可行方案。C++实现中,使用二维数组存储棋盘,vector<bool>标记已占列,确保行列不重复且位置有效。对于每组测试数据(n≤8, k≤n),算法高效遍历可能解空间,最终输出满足条件的摆放方案数目。示例输入验证了算法的正确性,如2×2棋盘放1棋子的方案数为2,4×4棋盘放4棋子仅1种方案。

gyvfhv的博客 750

解决windows10下无法安装.net framework 3.5(包括.net2.0和3.0)

入域电脑,win10系统中安装 .net framework 3.5(包括.net2.0和3.0)

God_me_1的博客 4万+

1217:棋盘问题

【题目描述】 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 kk 个棋子的所有可行的摆放方案 CC。 【输入】 输入含有多组测试数据。 每组数据的第一行是两个正整数n,kn,k,用一个空格隔开,表示了将在一个n×nn×n的矩阵内描述棋盘,以及摆放棋子的数目。 (n≤8,k≤n...

weixin_45988242的博客 456

XGBoost调参新姿势:Bayesian优化实战指南(附完整代码)

本文详细介绍了如何使用Bayesian优化方法高效调优XGBoost模型参数。通过解析Bayesian优化核心原理和XGBoost关键参数,提供完整的实战代码示例,帮助读者掌握这一智能调参技术,显著提升模型性能。文章特别适合机器学习工程师和数据科学家阅读。

weixin_42536058的博客 366

MFC Tab Control控件完全指南:从基础使用到高级定制

本文详细介绍了MFC中TabControl控件的使用方法和高级技巧。主要内容包括:1) TabControl基础属性设置与绑定;2) 样式定制和外观自定义;3) 创建派生类实现扩展功能;4) 动态页面管理和子对话框控制;5) 高级功能如标签拖拽排序和右键菜单。通过完整代码示例,展示了从基本应用到复杂场景的实现方案,包括多标签页管理、自定义绘制、动态添加/删除标签等核心功能,为MFC开发者提供了全面的TabControl开发指南。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 258

匡斌专题一 搜索

棋盘问题 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 Input 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <=...

ReverieZH的博客 594

【同等学力】2025-数学✨

本文主要涵盖了谓词逻辑、集合论、图论和排列组合等多个数学领域的题目。在谓词逻辑部分,要求用全称量词和存在量词表达“没有两个人的指纹完全相同”。集合论部分涉及集合运算的证明,如证明(A-B)-C=(A-C)-(B-C)。图论部分包括计算给定10个点的联通图的边与面数。排列组合部分则要求计算从8个人中选6个并分为三组的不同方法。此外,还涉及偏序、长链、反链、二项式定理等相关内容,参考了多个优快云博客中的解题思路。

super_mochi1 679

棋盘上放棋子(任意两个棋子不相邻)

给出一个 n*m 的棋盘(n 、m≤ 80,n*m ≤ 80),要在棋盘上放 k(k ≤ 20)个棋子, 使得任意两个棋子不相邻。问有多少种方案。 //给出一个 n*m 的棋盘(n 、m≤ 80,n*m ≤ 80),要在棋盘上放 k(k ≤ 20)个棋子, //使得任意两个棋子不相邻。问有多少种方案。 #include #include #include #inclu

scutzyz126的博客 4944

【例1896】report all clearance datasets 报告所有间隙数据集

report all clearance datasets 报告所有间隙数据集》这是一个NX二次开发官方小例子,下面是代码和解析。相较于混乱、未经验证的代码,官方案例能够确保开发者获得准确的开发方法,这些官方示例代码经过严格测试,能够正确地反映出NX软件的功能和API使用方式,有助于开发者系统地掌握NX二次开发技能,提高开发质量和效率。本专栏订阅后是永久阅读的。欢迎一起学习NX二次开发案例,逐步积累宝贵的经验,早日成为行业专家。

王牌飞行员_里海的博客 644

【ACP】2025-最新-疑难题解析-1

即用户手动释放时,因实例释放保护开启,不会释放该 ECS 实例(不同云厂商具体实现有差异,但题目场景下选 C )。结合题目中标记,答案为。综上,答案选 B。综上,答案选 C。综上,答案选 D。综上,答案选 A。综上,答案选 A。综上,答案选 C。综上,答案选 D。综上,答案选 A。

jundao1997的专栏 365

2023年第十四届蓝桥杯省赛JavaB组个人题解(AK)

之前在dotcpp上发了几个单独题解,现在补一篇完整的吧 P.S. 当天比完,一回去被室友感染甲流发烧躺了一周,。。(喜 今年相较去年,中规中矩吧.本题总分:5分【问题描述】令 S=1!+2!+3!+...+202320232023!S = 1! + 2! + 3! + ... + 202320232023!S=1!+2!+3!+...+202320232023!,求 SSS 的末尾 9 位数字。 提示:答案首位不为 0。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,

m0_62573287的博客 3万+

【MTK平台】【wpa_supplicant】关于wpa_supplicant/p2p_supplicant.c文件的介绍

本文主要介绍external/wpa_supplicant_8/wpa_supplicant/p2p_supplicant.c 这个文件这个文件里面有个核心的方法就是。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 725

残缺棋盘问题

文章目录实验目的实验内容算法分析实验步骤实验结果 实验目的 了解和运用递归与分治算法解决实际问题。 实验内容 残缺棋盘是一个有2k×2k(k≥1)个方格的棋盘,其中恰有一个方格残缺。如图给出k=1时各种可能的残缺棋盘,其中残缺的方格用阴影表示。残缺棋盘问题就是要用这四种三格板覆盖更大的残缺棋盘。在此覆盖中要求: 1)两个三格板不能重叠 2)三格板不能覆盖残缺方格,但必须覆盖其他所有的方格。 小格子...

小肥柴YD的博客 6270

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

棋盘问题 BNUOJ 1440

棋盘问题 Time Limit: 1000ms Memory Limit: 10000KB问题描述: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。

lvxin1204的博客 5293

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

POJ 1321 棋盘问题

棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 16573   Accepted: 8195 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于

ACM2272902662的专栏 1860

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

棋盘麦粒问题编程python_棋盘麦粒问题

按照那位宰相所要求的方法,在64格棋盘上放置麦粒,表面上看起来所需麦粒数量很少,其实越放越多,最终达到一个天文数量.每格棋盘应该放置麦粒详细数量:第1格棋盘: 1=2的0次方第2格棋盘: 2=2的1次方第3格棋盘: 4=2的2次方∶第18格棋盘: 131072=2的17次方第19格棋盘: 262144=2的18次方第20格棋盘: 524288=2的19次方∶第43格棋盘: 439804651110...

weixin_39931101的博客 5050

POJ 1321 棋盘问题

棋盘问题 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有

dlj1713779797的博客 5102

棋盘问题(???)

棋盘问题 问题链接 http://poj.org/problem?id=1321 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 Input 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,...

qq_43993717的博客 266

棋盘覆盖问题

¢在一个 2k×2k个方格组成的棋盘中,若恰有一个方格与其他方格不同,称该方格为特殊方格,且称该棋盘为特殊棋盘(Defective Chessboard)。 l特殊方格在棋盘中出现的位置有 4k种情形,就有4k种不同的棋盘。 ¢图中的特殊棋盘是当 k=2时16个特殊棋盘中一个。在棋盘覆盖问题中,要求用图所示的4种不同形状的L型骨牌覆盖给定棋盘上除特殊方格以外的所有方格,且任何两个L型骨牌不得重...

kt1776133839的博客 2703
上一篇: 大鱼吃小鱼(栈)
下一篇: Subsequence (尺取法)
donCoder
博客等级 码龄9年 65粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值