POJ1321(棋盘问题)
Description
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
1 #include<cstdio> 2 #include<cstring> 3 int n,k; 4 char mapp[20][20]; 5 bool vis[20]; 6 int ans=0; 7 void dfs(int x,int cur) 8 { 9 if(cur==k)//完全填入一次加1 10 { 11 ans++; 12 } 13 for(int k=x;k<n;k++)//选择填入第几行的棋盘 14 { 15 for(int i=0;i<n;i++)//看哪一个是棋盘 16 { 17 if(mapp[k][i]=='#' && vis[i]==false)//回溯 18 { 19 vis[i]=true; 20 dfs(k+1,cur+1); 21 vis[i]=false; 22 } 23 } 24 } 25 26 } 27 int main() 28 { 29 while(scanf("%d%d",&n,&k)!=EOF&&n!=-1&&k!=-1) 30 { 31 ans=0; 32 memset(vis,false,sizeof(vis)); 33 for(int i=0;i<n;i++) 34 scanf("%s",mapp[i]); 35 dfs(0,0); 36 printf("%d\n",ans); 37 } 38 return 0; 39 }
View Code
转载于:https://www.cnblogs.com/-xiangyang/p/9392841.html
POJ1321(棋盘问题)相关推荐
- 【POJ1321棋盘问题】【poj2251Dungeon Master】【poj3278Catch That Cow】【poj1426Find The Multi】
POJ1321棋盘问题 题意:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k ...
- POJ1321 棋盘问题(DFS)
深度搜索,但是要注意搜索的方式: 本文给出两份代码,一份是AC代码,一份是超时的,你们感受下. 从第一行开始,对于每一行,搜索整行,如果有'#',标记,然后,则搜索下一行. AC代码: /*POJ13 ...
- POJ1321 棋盘问题
棋盘问题 Time Li ...
- poj1321棋盘问题
题目链接 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆 ...
- POJ1321 Bailian1321 棋盘问题【DFS】
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 52525 Accepted: 25387 Descriptio ...
- 简单搜索 poj1321
poj1321 棋盘问题 #pragma warning(disable:4996) #include<iostream> #include<string> #include& ...
- ACM题集以及各种总结大全(转)
ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...
- CCF认证训练行动路线图
通过CCF认证的训练题选自三个方面,一是CCF认证试题,二是使用北大百练的练习题等等,三是ACM-ICPC的练习题. CCF认证的试题是必须练习的,通过CCF试题的练习有助于了解试题风格特点.然而CC ...
- 《程序设计技术》课程辅助学习资料
本文档提供课程相关的辅助学习资料. 阅读程序是提高程序设计水平的最为有效的方法,<程序设计技术>课程至少应该阅读后面提供链接博文中的基础部分.能够阅读完基础部分的博文,则可以给课程学习奠定 ...
最新文章
- 数据库课本SQL第三章答案
- 华为鸿蒙产业链股票,华为P40或用鸿蒙 华为产业链概念股一览
- iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)
- SecureCRT无法登录Ubuntu
- php gearman 扩展,Ubuntu 12.04 安装 gearman 以及php扩展安装脚本
- 使用Html.DropDownList
- oracle 视图带条件,Oracle视图可以进行DML操作的条件
- java 调用plc程序_从老师傅那里偷学来的PLC宝贵经验!
- extjs office java_Extjs使用(最最基础)
- 微信小程序云开发表单使用 name的形式提交后如何清空输入内容
- 倾斜摄影三维建模过程和项目费用
- kali安装百度网盘客户端
- Google究竟怎么扣税,如何结算?你想知道的都在这里了
- java跳转页面_几种方式实现Javaweb页面跳转
- 《简约至上:交互式设计四策略》读书感悟
- latex奇偶页使用不同的页眉
- Python的基本数据类型与运算符号
- python库numpy使用技巧(一)——提取数组中非零元素
- 最新《PHP全套学习课程》
- 用java编写一个美元汇率转换,编写一个人民币和美元的双向汇率转换程序,实现美元和人民币转换,汇率:1美元=6.92人民币...
热门文章
- 使用ASP.NET实现Model View Presenter(MVP)
- 易语言---字符串操作
- UI Automator Viewer Error while obtaining UI hierarchy XML file
- Windows 安装 NoneBot2
- 废旧光盘手工小制作_佳味家味浓 丨佳人美食手工零食课堂:咸蛋黄牛轧糖夹心小饼干制作活动...
- 【源码解析】hashMap源码跟进
- 一、select查询
- redis介绍及保持session会话
- 红顶商人 —— 胡雪岩
- 【翻译】TCP backlog在Linux中的工作原理