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相关推荐

  1. Codeup墓地-1123

    Codeup墓地-1123 src:http://codeup.cn/problem.php?id=1123 1123: 确定排序序列 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一个由 ...

  2. Codeup墓地-1107

    Codeup墓地-1107 src:http://codeup.cn/problem.php?id=1107 1107: 欧几里得游戏 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明和 ...

  3. Codeup墓地1817号A+B

    Codeup墓地链接:http://codeup.cn/ 本题链接:http://codeup.cn/problem.php?cid=100000575&pid=1 问题描述: 问题 B: A ...

  4. Codeup墓地-2337

    Codeup墓地-2337 src:http://codeup.cn/problem.php?id=2337 2337: 阻击火箭队 时间限制: 1 Sec 内存限制: 32 MB 题目描述 小明很喜 ...

  5. Codeup墓地-1985

    Codeup墓地-1985 src:http://codeup.cn/problem.php?id=1985 1985: 任务调度 时间限制: 1 Sec 内存限制: 32 MB 题目描述 读入任务调 ...

  6. Codeup墓地-2118

    Codeup墓地-2118 src:http://codeup.cn/problem.php?id=2118 2118: 非常可乐 时间限制: 1 Sec 内存限制: 32 MB 题目描述 大家一定觉 ...

  7. Codeup墓地-1098

    Codeup墓地-1098 src:http://codeup.cn/problem.php?id=1098 1098: 最少的交换 时间限制: 1 Sec 内存限制: 32 MB 题目描述 现在给你 ...

  8. Codeup墓地-2117

    Codeup墓地-2117 src:http://codeup.cn/problem.php?id=2117 2117: 确定比赛名次 时间限制: 1 Sec 内存限制: 32 MB 题目描述 有N个 ...

  9. Codeup墓地-2070

    Codeup墓地-2070 src:http://codeup.cn/problem.php?id=2070 2070: 坠落的蚂蚁 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一根长度 ...

最新文章

  1. 21 款 yyds 的 IDEA插件
  2. JAVA对象转为Java String的几种常用方法
  3. Consul 服务注册与发现03—— 服务消费者
  4. 径向基函数插值(4)三维数据的插值
  5. opencv角点检测学习总结
  6. 我是如何从技术转向产品的
  7. 《Neural network and deep learning》学习笔记(一)
  8. tomcat_启动问题分析
  9. Linux 学会看日志文件处理问题
  10. c# 在mongo中查询经纬度范围
  11. splice方法_Array中splice用法
  12. matlab脑电打码,matlab 脑电信号特征提取程序
  13. 剑指:合并两个排序的链表
  14. 实践Hive的点点滴滴
  15. proteus部分元件中英对照
  16. 禁用EnableViewState和启用EnableViewStat时请注意
  17. 微信小程序内容组件图标 icon
  18. js怎么获取扫码枪条码_如何使用JavaScript获取扫码枪扫描得到的条形码
  19. 多媒体视频会议系统的测试方法
  20. 嵌入式硬件从接杜邦线起-杜邦头接线实操①

热门文章

  1. 微软在线文档库(docs.microsoft.com),MVP Challenge
  2. linux的vm相关参数介绍
  3. 如何看待2021年秋招推荐算法岗灰飞烟灭?
  4. caps lock_在Ubuntu中启用Caps Lock或Num Lock时如何获取通知
  5. 金蝶如何修改服务器时间,金蝶系统怎么修改系统时间
  6. Debian 8.1 安装Broadcom BCM4312无线网卡驱动
  7. 基于单片机的ILI2132驱动调试
  8. 针对百度搜索平台的https认证的几点建议
  9. mac反向控制iphone_反向工程iPhone X Home指示灯颜色
  10. 如果诸葛亮用代码写出师表,会怎么样?