http://poj.org/problem?id=1321

自己真是本了开始写了歌对于棋子有顺序的搜索,导致求出来是ans的阶乘种数了,因为k < n且不能在同一行同一列,只要按行搜索,记录列是否被访问过即可!

View Code

#include <iostream>
#include <cstdio>
#include <cstring>
#define maxn 12
using namespace std;char map[maxn][maxn];
bool vt[maxn];
int n,m,ans;void dfs(int x,int len)
{int i,j;if (len == m){ans++;return ;}for (i = x; i < n; ++i){for (j = 0; j < n; ++j){if (!vt[j] && map[i][j] == '#'){vt[j] = true;dfs(i + 1,len + 1);vt[j] = false;}}}
}int main()
{//freopen("in.txt","r",stdin);int i;while (scanf("%d%d",&n,&m)){if (n == -1 && m == -1) break;for (i = 0; i < n; ++i) scanf("%s",map[i]);memset(vt,false,sizeof(vt));ans = 0;dfs(0,0);printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/E-star/archive/2012/04/13/2445386.html

pku 1321 棋盘问题 DFS相关推荐

  1. POJ 1321 棋盘问题【DFS】

    棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35493   Accepted: 17485 Descriptio ...

  2. poj 1321 棋盘问题(dfs)

    题目:http://poj.org/problem?id=1321 没什么难度,比较水... View Code 1 #include <iostream> 2 #include<c ...

  3. POJ 1321 棋盘问题(DFS 状压DP)

    用DFS写当然很简单了,8!的复杂度,16MS搞定. 在Discuss里看到有同学用状态压缩DP来写,就学习了一下,果然很精妙呀. 状态转移分两种,当前行不加棋子,和加棋子.dp[i][j]中,i代表 ...

  4. POJ 1321 棋盘问题 题解

    棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 70224 Accepted: 33254 Description 在一 ...

  5. 1321:棋盘问题(深度优先搜索进阶)

    题目链接:http://bailian.openjudge.cn/practice/1321?lang=en_US 题意: 求在一个n*n的矩阵内棋盘内摆放k个棋子的方案,这些棋子不在同一行不在同一列 ...

  6. POJ 1321 棋盘问题 搜索

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

  7. 2015 百度之星 1003 棋盘占领 dfs

    棋盘占领 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest_show ...

  8. POJ - 1321 棋盘问题

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

  9. POJ 1321 棋盘问题(回溯)

    文章目录 1. 题目 1.1 题目链接 1.2 题目大意 1.3 解题思路 2. 代码 2.1 Accepted 代码 1. 题目 1.1 题目链接 http://poj.org/problem?id ...

最新文章

  1. 关于Linux服务器磁盘空间占满问题的解决方法
  2. 图形基础 GPU架构(2)软件调用栈
  3. C语言--switch case语句
  4. AOSP6.0.1 launcher3入门篇—hotseat相关实现
  5. 微信小程序API之request
  6. 小区物业管理代码实现_全区58个老旧小区有了新“管家”
  7. input 文件提交 按钮制作
  8. web平台微信扫码登录
  9. NC打印模板汇总技巧
  10. 大专生从零开始重新学习c#的第八天
  11. MySQL表共享读锁(Table Read Lock)和表独占写锁(Table Write Lock)
  12. matlab指数形式复数运算,[转载]MATLAB学习(4)——复数及其运算
  13. 2021年全球与中国数字射线照相设备行业市场规模及发展前景分析
  14. 重生之丹王,炼丹入门
  15. 安卓4.4pppoe拨号间隔及轮次修改
  16. FPGA 30 综合数字ADC /DAC 信号发送采集系统设计(综合项目设计)
  17. Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号
  18. Java 收货地址智能解析
  19. 英雄埋骨无人问,戏子家事天下知!
  20. 日常数据库练习题(每天进步一点点系列)

热门文章

  1. web-java-Java Concurrency Utilities
  2. Java 数据类型和 MySql 数据类型对应一览表
  3. 短文本合并重复(去重)的简单有效做法
  4. iPhone在scrollview中双击定点放大的代码
  5. 各大搜索引擎提交地址
  6. 10、Windows API 文件系统
  7. java byte(字节_Java字节序,java整型数与网络字节序 byte[] 数组转换关系(ByteArrayOutpu......
  8. Linux——RHCE试题与答案详解
  9. Markdown编辑器中字号、颜色的设置方法及一些好看的颜色示例
  10. c语言 自动化办公,办公自动化快捷键大全