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

-------------------------------------------------------------------

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
#include<stack>
int M ,N;
char str[105][105];
int dir[8][2] = {{1,1},{-1,1},{-1,-1},{1,-1}};
int k;
int a = 0;
using namespace std;int book[15000];
int m;
void dfs(int cur)
{if(k==m){a++;return ;}if(cur>=N)    //边界return ;for(int j=0; j<N; j++)if(book[j]==0 && str[cur][j]=='#')  //判断条件
        {book[j]=1;           //标记m++;dfs(cur+1);book[j]=0;           //改回来方便下一行的判断m--;}dfs(cur+1);                //到下一行
}
int main()
{int i;while(scanf("%d%d",&N,&k),N!=-1&&k!=-1){a=0;m=0;for(i=0; i<N; i++)scanf("%s",str[i]);memset(book,0,sizeof(book));dfs(0);printf("%d\n",a);}return 0;
}

 

转载于:https://www.cnblogs.com/biu-biu-biu-/p/5683420.html

搜索-----棋盘问题相关推荐

  1. 用CE来找出对对碰游戏 坐位号基址,棋盘数组基址 并把它读出来

    用CE来找出对对碰游戏 坐位号基址,棋盘数组基址 并把它读出来 1.预备知识    4种数据类型    字节 Byte=00-FF                           0-255   ...

  2. Udacity机器人软件工程师课程笔记(二十) - 感知 - 校准,过滤, 分段, RANSAC

    校准,过滤, 分段, RANSAC 首先,我们将讨论传感器校准,也就是说,从几何形状,失真和噪声方面校准相机如何看待周围的世界.了解相机的校准对于了解测量数据如何代表实际物理环境至关重要. 之后,我们 ...

  3. 五子棋人机对战_10.带人机对战的五子棋程序

    今天我们带来一个带人机对战功能的五子棋程序.程序基于前面文章中的框架搭建,新增人机对战的策略.程序基于规则进行决策,不考虑禁手,玩家执黑子先行.棋盘规模采用15乘15,棋盘规模容易扩展,程序棋力中等, ...

  4. java实现注册登录版五子棋对战平台(超详细注释,内含人机实现)

    目录 前言 项目介绍 功能演示 登录 注册 选择对手 落子提示 局时步时 查看战绩 落子五连 悔棋 聊天 新局 棋谱 保存棋谱 打开棋谱 其它功能 刷新 上下页 认输 退出 轮播图片 背景音乐 求助小 ...

  5. 翻译Deep Learning and the Game of Go(3)第2章:围棋是一个机器学习难题(规则部分就不翻了)

    本章涵盖 为什么游戏是AI的好项目? 为什么围棋是深度学习的难题? 围棋的规则是什么? 您可以通过机器学习解决游戏的哪些方面? 2.1 为什么要用游戏? 游戏是AI研究中最喜欢的主题,而不仅仅是因为它 ...

  6. 使用最大-最小树搜索算法和alpha-beta剪枝算法设计有效围棋走法

    我们的世界纷繁复杂,看起来完全不可捉摸.但在很多场景下,它运行的本质其实是通过付出最小的代价获得最大化收益.例如在自然界里的自然选择,光的运行路径.对于人的世界更是如此,由于我们做任何事情,任何选择都 ...

  7. 基于人工神经网络的五子棋博弈(Details)

    感兴趣的朋友可以在git上查看该项目: https://github.com/jimth001/my-Gobang-game-base-AI-algorithm.git 研 究 报 告 作品名称 基于 ...

  8. 学会用API函数读出内存数据

    CheatEngine6.2下载地址 http://download.csdn.net/detail/zang141588761/9600391 将用CE来找出对对碰游戏 坐位号基址,棋盘数组基址并把 ...

  9. 棋盘分割(记忆化搜索)

    棋盘分割 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

最新文章

  1. ibatis的there is no statement named xxx in this SqlMap
  2. 史上最受程序员待见的计算机入门读物——图解X系列
  3. SAP PM 初级系列14 - 维修工单的凭证流
  4. Linux_《Linux命令行与shell脚本编程大全》第十八章学习总结
  5. CF1101D GCD Counting
  6. 《Adobe After Effects CS6完全剖析》——动画:最重要的是关系
  7. Kafka精华问答 | Kafka有哪些使用场景?
  8. 瑞幸咖啡股价再创新低,App 反冲 TOP 1
  9. .NET设计模式(1):1.1 单例模式(Singleton Pattern)
  10. 7. memcache 细节
  11. [译]使用YUI 3开发Web应用的诀窍
  12. 7-3 寻找大富翁 (50分)
  13. 「硬刚Doris系列」Apache Doris的向量化和Roaring BitMap
  14. 计算机电源的功能,电源屏主要功能及工作原理
  15. 苹果6怎么显示itunes store无法连接服务器,iPhone6 plus无法连接iTunes Store的原因和解决教程...
  16. vimdiff 命令使用技巧
  17. 古月 ROS移动机器人实战 二维slam地图构建 笔记
  18. HDMI_CS4344调试说明
  19. 高中计算机竞赛官网,美国高中计算机竞赛系列:PClassic
  20. 设计数据库原则4个原则_四个设计原则

热门文章

  1. Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)
  2. Android自定义View的实现方法,带你一步步深入了解View(四)
  3. Basic脚本解释器移植到STM32
  4. 汇编语言--BIOS和DOS中断例程
  5. DevOps笔记-10:金融行业分支策略的建议
  6. shell实例第7讲:awk命令
  7. error: #5: cannot open source input file core_cm3.h: No such file or directory
  8. 微软或允许 Android 应用运行于 Windows 和 WP
  9. 十八年前漏洞再现,影响所有Windows版本
  10. 国内首款商用LCA软件(eBalance)发布公告及培训通知