POJ_2488,dfs西洋棋问题,同马走日(POJ_4123)

#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
bool chess[26][26];
int row,col,count,flag;
int nextstep[8][2]={{ -1,-2 },{ 1,-2 },{ -2,-1 },{ 2,-1 },{ -2,1 },{ 2,1 },{ -1,2 },{ 1,2 }};
int result[700][2];
void mydfs(int currow,int curcol){if(count>=row*col){flag=1;return ;}else{for(int i=0;i<8;i++){int nextrow=currow+nextstep[i][0];int nextcol=curcol+nextstep[i][1];if(nextrow<row && nextrow>=0 && nextcol<col && nextcol>=0 && !chess[nextrow][nextcol]){chess[nextrow][nextcol]=1;count++;result[count-1][0]=nextrow;result[count-1][1]=nextcol;mydfs(nextrow,nextcol);if(flag) return ;count--;chess[nextrow][nextcol]=0;}}return ;}
}int main(){int test;   cin>>test;for(int testid=1;testid<=test;testid++){cin>>row>>col;cout<<"Scenario #"<<testid<<":"<<endl;if(row==1 && col==1){cout<<"A1"<<endl<<endl;continue;}if(row<3 || col<3){cout<<"impossible"<<endl<<endl;continue;}flag=0; count=1;memset(chess,0,sizeof(chess));//全部遍历意味着起始点从(0,0)开始字典序最小 chess[0][0]=1;    result[0][0]=0;    result[0][1]=0;mydfs(0,0);if(flag){for(int i=0;i<row*col;i++){char c=result[i][1]+'A';cout<<c<<result[i][0]+1;}cout<<endl<<endl;}else   cout<<"impossible"<<endl<<endl;}return 0;
}

POJ_2488(DFS算法,西洋棋)相关推荐

  1. UA SIE545 优化理论基础5 搜索与整数规划1 DFS算法

    UA SIE545 优化理论基础5 搜索与整数规划1 DFS算法 DFS方法基础 邮票问题 这部分的主要目标是建立求解整数规划的方法,早期解决整数规划需要穷举,后来人们把搜索技术应用到整数规划中,极大 ...

  2. 继西洋棋大师、魔术方块之后 人工智能挑战迭迭乐游戏

    借助机器学习和算法模型等,机器人已成为西洋棋大师,魔术方块记录刷新者.MIT麻省理工学院的科学家研制的新机器人的挑战项目是「迭迭乐(Jenga)游戏」,别看迭迭乐规则看似简单,但是对动手能力和思维策略 ...

  3. 在西洋棋、将棋打败人类之后,电脑也将在围棋战胜人类

    1997 年,在 IBM 的深蓝战胜西洋棋世界冠军 Garry Kasparov 之后,<时代>杂志提出了一项新的挑战:让电脑与人类下围棋吧,它获胜的机会很小."电脑要在围棋上战 ...

  4. boost::graph模块实现DFS算法的测试程序

    boost::graph模块实现DFS算法的测试程序 实现功能 C++实现代码 实现功能 boost::graph模块实现DFS算法的测试程序 C++实现代码 #include <boost/g ...

  5. C语言递归实现深度优先搜索DFS算法(附完整源码)

    C语言递归实现DFS算法 完整Graph.h 头文件 完整Graph.c 源文件文件 完整dfs_recursive.c 源文件(main测试函数) 完整Graph.h 头文件 #include &l ...

  6. c语言dfs算法,DFS算法源程序

    /* dfs算法 */ #include #include #include #include /* 函数结果状态代码 */ #define   True     1 #define   False ...

  7. DFS算法原理及其具体流程,包你看一遍就能理解

    目录 写在前面 DFS算法 所解决的问题 所需要的数据结构 代码结构及解释 方法一:递归 解释 递归dfs总结 方法二:栈 解释 栈dfs总结 写在前面 因为楼主也是刚开始刷leetcode,所以下面 ...

  8. 数据结构与算法38-鸭棋

    数据结构与算法38-鸭棋 题目描述 题目背景 鸭棋是一种风靡鸭子界的棋类游戏.事实上,它与中国象棋有一些相似之处,但规则不尽相同.在这里,我们将为你介绍鸭棋的规则. 同时,我们下发了一个模拟鸭棋规则的 ...

  9. JAVA算法:李白遇花喝酒游戏JAVA DFS 算法设计

    JAVA算法:李白遇花喝酒游戏JAVA DFS 算法设计 看到了这样的一道题目,还挺有意思,可以通过不同的算法设计来求解. 话说大诗人李白,一生好饮.一日,他提着酒壶,从家里出来,酒壶中有酒2斗.他边 ...

最新文章

  1. MultipartEntity与UrlEncodedFormEntity区别
  2. 论文阅读:Multi-scale orderless pooling of deep convolutional activation features
  3. java第一章Java语言概述和入门程序
  4. 拉格朗日插值法(Lagrange)
  5. 第六期.Net开源社群联合分享--除了情结和价格,Azure最适合什么场景?等你来讲趟坑的实战经验!
  6. 汇编语言-006(数组操作 、字符串应用、PUSHFD_POPFD 、PUSHAD_POPAD 、 子程序 函数、 USES 、 INC_DEC )
  7. LeetCode 435 无重叠区间
  8. python常用内置函数整理
  9. 情人节,教你用Python定时给小姐姐微信发送专属问候!
  10. Spring Boot设置匹配指定后缀*.action *.do的路径
  11. 小米笔记本Pro 黑苹果10.15.2记录 不需要焊接,完美支持airdrop、接力、随航
  12. 华为交换机:配置基于IP子网划分 VLAN
  13. fgo最新服务器,如何看fgo是什么服务器 | 手游网游页游攻略大全
  14. latex表格实现换行
  15. 图样图森破 设置虚拟机优先级真的很容易?
  16. 常见的安全产品与服务整理
  17. python颜色对照表及颜色搭配
  18. hdu-6638 Snowy Smile
  19. 批量!使用ArcGIS python 批量修改遥感影像名
  20. easypanel php.ini,Linux下EasyPanel及PHP安装升级

热门文章

  1. UWB到底是什么技术?
  2. python keyboard hook_Keyboard Hook API函数 参数说明
  3. Eclipse4.7 (Version: Oxygen.3) 安装Tomcat插件(三只小猫)
  4. 盖璞发布最新业绩;​星巴克中国内地首家共享空间概念店诞生;加拿大鹅任命Paul Cadman为亚太区总裁 | 知消...
  5. Cocos2d-x客户端资源加密
  6. 聊天机器人在教育领域的应用(ChatbotsinEducation)
  7. matlab盒装图boxplot绘制及简单讲解含义
  8. 小程序加入人脸识别_【提示】@车墩志愿者们 身份证+人脸识别 “志愿云自助服务”微信小程序上线 再也不用担心忘记用户名密码了...
  9. 测试之第九集手机兼容性你又了解多少呢
  10. wepy安装完毕“不是内部或外部命令,也不是可运行的程序或批处理文件”