Codeup墓地-1104
Codeup墓地-1104
src:http://codeup.cn/problem.php?id=1104
1104: 棋盘问题
时间限制: 1 Sec 内存限制: 32 MB
题目描述
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。
输入
输入含有多组测试数据。
每组数据的第一行是两个正整数n和k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。(n<=8,k<=n)
当n和k均为-1时表示输入结束。
随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。
输出
对于每一组数据,给出一行输出,输出摆放的方案数目C(数据保证C<2^31)。
样例输入
2 1
#.
.#
4 4
…#
…#.
.#…
#…
-1 -1
样例输出
2
1
//DFS
#include<bits/stdc++.h>
using namespace std;char matrix[10][10];
bool vis[10];
int cnt,sum,n,k;
bool judge(int s,int i){if(matrix[s][i]=='#'&&!vis[i])return true;return false;
}
void DFS(int s){if(cnt==k){sum++;return;}if(s>=n)return;for(int i=0;i<n;i++){if(judge(s,i)){vis[i]=true;cnt++;DFS(s+1);cnt--;vis[i]=false;}}DFS(s+1);
}
int main(){while(~scanf("%d %d",&n,&k)&&(n!=-1||k!=-1)){getchar();memset(vis,0,sizeof vis);for(int i=0;i<n;i++)scanf("%s",matrix[i]);cnt=sum=0;DFS(0);printf("%d\n",sum);}return 0;
}
Codeup墓地-1104相关推荐
- Codeup墓地-1123
Codeup墓地-1123 src:http://codeup.cn/problem.php?id=1123 1123: 确定排序序列 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一个由 ...
- Codeup墓地-1107
Codeup墓地-1107 src:http://codeup.cn/problem.php?id=1107 1107: 欧几里得游戏 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明和 ...
- Codeup墓地1817号A+B
Codeup墓地链接:http://codeup.cn/ 本题链接:http://codeup.cn/problem.php?cid=100000575&pid=1 问题描述: 问题 B: A ...
- Codeup墓地-2337
Codeup墓地-2337 src:http://codeup.cn/problem.php?id=2337 2337: 阻击火箭队 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明很喜 ...
- Codeup墓地-1985
Codeup墓地-1985 src:http://codeup.cn/problem.php?id=1985 1985: 任务调度 时间限制: 1 Sec 内存限制: 32 MB 题目描述 读入任务调 ...
- Codeup墓地-2118
Codeup墓地-2118 src:http://codeup.cn/problem.php?id=2118 2118: 非常可乐 时间限制: 1 Sec 内存限制: 32 MB 题目描述 大家一定觉 ...
- Codeup墓地-1098
Codeup墓地-1098 src:http://codeup.cn/problem.php?id=1098 1098: 最少的交换 时间限制: 1 Sec 内存限制: 32 MB 题目描述 现在给你 ...
- Codeup墓地-2117
Codeup墓地-2117 src:http://codeup.cn/problem.php?id=2117 2117: 确定比赛名次 时间限制: 1 Sec 内存限制: 32 MB 题目描述 有N个 ...
- Codeup墓地-2070
Codeup墓地-2070 src:http://codeup.cn/problem.php?id=2070 2070: 坠落的蚂蚁 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一根长度 ...
最新文章
- 21 款 yyds 的 IDEA插件
- JAVA对象转为Java String的几种常用方法
- Consul 服务注册与发现03—— 服务消费者
- 径向基函数插值(4)三维数据的插值
- opencv角点检测学习总结
- 我是如何从技术转向产品的
- 《Neural network and deep learning》学习笔记(一)
- tomcat_启动问题分析
- Linux 学会看日志文件处理问题
- c# 在mongo中查询经纬度范围
- splice方法_Array中splice用法
- matlab脑电打码,matlab 脑电信号特征提取程序
- 剑指:合并两个排序的链表
- 实践Hive的点点滴滴
- proteus部分元件中英对照
- 禁用EnableViewState和启用EnableViewStat时请注意
- 微信小程序内容组件图标 icon
- js怎么获取扫码枪条码_如何使用JavaScript获取扫码枪扫描得到的条形码
- 多媒体视频会议系统的测试方法
- 嵌入式硬件从接杜邦线起-杜邦头接线实操①
热门文章
- 微软在线文档库(docs.microsoft.com),MVP Challenge
- linux的vm相关参数介绍
- 如何看待2021年秋招推荐算法岗灰飞烟灭?
- caps lock_在Ubuntu中启用Caps Lock或Num Lock时如何获取通知
- 金蝶如何修改服务器时间,金蝶系统怎么修改系统时间
- Debian 8.1 安装Broadcom BCM4312无线网卡驱动
- 基于单片机的ILI2132驱动调试
- 针对百度搜索平台的https认证的几点建议
- mac反向控制iphone_反向工程iPhone X Home指示灯颜色
- 如果诸葛亮用代码写出师表,会怎么样?