棋盘问题 POJ - 1321
Input
每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n
当为-1 -1时表示输入结束。
随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。
Output
Sample Input
2 1 #. .# 4 4 ...# ..#. .#.. #... -1 -1
Sample Output
2 1
#include<iostream> #include<stdio.h> #include<memory.h> using namespace std; int n, m; char a[10][10]; bool vis[10]; int ans; int step; void DFS(int k) {if (step == m) {ans++;return;}if (k>n)return;//超出边界 for (int i = 0; i<n; i++) {if (!vis[i] && a[k][i] == '#') {vis[i] = true;step++;DFS(k + 1);vis[i] = false;step--;}}DFS(k + 1);//某行全都是空白的情况 } int main() {while (scanf("%d %d",&n,&m)!=EOF) {//n是图形的大小,m是棋子的数量 if (n == -1)break;ans = 0;step = 0;memset(vis, false, sizeof(vis));for (int i = 0; i<n; i++) {getchar();for (int j = 0; j<n; j++) {scanf("%c", &a[i][j]);}}DFS(0);cout << ans << endl;} }
转载于:https://www.cnblogs.com/CuteAbacus/p/9492098.html
棋盘问题 POJ - 1321相关推荐
- A - 棋盘问题 POJ - 1321(dfs)
A - 棋盘问题 POJ - 1321 dfs 复杂度计算: dfs共进行a步,每步需要循环n次,复杂度为 a^n次方 首先是暴力 an*n,果然炸了 #include<cstdio> # ...
- POJ 1321 棋盘问题(回溯)
文章目录 1. 题目 1.1 题目链接 1.2 题目大意 1.3 解题思路 2. 代码 2.1 Accepted 代码 1. 题目 1.1 题目链接 http://poj.org/problem?id ...
- poj 1321 棋盘问题(dfs)
题目:http://poj.org/problem?id=1321 没什么难度,比较水... View Code 1 #include <iostream> 2 #include<c ...
- POJ 1321 棋盘问题【DFS】
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 35493 Accepted: 17485 Descriptio ...
- POJ 1321 棋盘问题 搜索
Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...
- POJ 1321 棋盘问题 题解
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 70224 Accepted: 33254 Description 在一 ...
- POJ - 1321 棋盘问题
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...
- 深度优先搜索----poj 1321棋盘问题
题目描述 棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63237 Accepted: 30234 Descr ...
- 棋盘问题 ( POJ -1321 )(简单DFS)
转载请注明出处:https://blog.csdn.net/Mercury_Lc/article/details/82684942 作者:Mercury_Lc 题目链接 题解:dfs入门,就是每个 ...
最新文章
- 幼儿园带括号算式口诀_初中数学必会的26个知识点口诀
- BZOJ2002 [HNOI2010] 弹飞绵羊
- Kafka入门之分组的理解
- julia与python对比_有人说Julia比Python好,还给出了5个理由
- 如何让自定义Dialog上下居中
- 台湾-李宏毅教授的深度学习视频教程
- java 二进制 base64编码_java自定义实现base64编码转换
- Coloring Tree
- FS\OFS\RS\ORS的使用
- 开机显示被调用的对象已与其客户端断开连接,解决方案亲测有效
- 学计算机学体育生闺女,适合女孩学的体育项目
- Win10开启ssh和scp
- WeWork举步维艰,它的竞争对手们活的怎么样?
- python蒙特卡洛算法模拟赌博模型
- 【Scala-spark.mlib】分布式矩阵——分布式计算的基石与利器
- 我的Android说
- 导航守卫之组件内守卫及后置钩子
- java excel 透视_Java在Excel中创建透视表方法解析
- CTF竞赛入门(三)密码学安全
- 【转载】使用python进行ABAQUS的二次开发的简要说明(by Young 2017.06.27)
热门文章
- 使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 默认配置与事件基础
- .NET设计模式(1): 简单工厂模式
- Java Spring连接Tibco Queue 总结
- leetcode - 486. 预测赢家
- 去哪儿-17-detail-header
- STM32 - 定时器的设定 - 基础 01 - Timer Base - Prescaler description - Upcounting mode
- 遇到oracle错误1012,跟着感觉走,解决安装RAC过程中OCR完整性错误,待深入剖析...
- c语言用链表写管理系统程序,c语言课程设计职工信息管理系统单链表实现程序源代码-20210401015126.docx-原创力文档...
- mysql update 多个字段_MySQL数据库基础
- mysql 5.6 安装 中文_ubuntu 下mysql 5.6安装、删除和配置中文乱码问题