POJ 2488(dfs+字典序)
来源:互联网 发布:php前端网站 编辑:程序博客网 时间:2024/06/09 13:43
poj2488
题意:
问能不能不重复地走能遍历所有的棋格,走法按中国象棋马的方法。
分析: dfs+字典序输出...
我的字典序处理是用的String 来存,每次dfs后将该次有效遍历的地址加到串里面。从(0,0)开始。其他的就是基本的dfs知识~
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <string>#define Max 30using namespace std;int n,m;int temp;int vis[Max][Max];int dir[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};int dfs(int x,int y,int step,string tt){ if(step==temp) { cout<<tt<<endl<<endl; return 1; } else { for(int i=0;i<8;i++) { int xx=x+dir[i][0]; int yy=y+dir[i][1]; char ans1=yy+'A'; char ans2=xx+'1'; if(xx>=0 && xx<n && yy>=0 && yy<m && vis[xx][yy]==0) { vis[xx][yy]=1; if(dfs(xx,yy,step+1,tt+ans1+ans2)) return 1; vis[xx][yy]=0; } }return 0;}}int main(){ int t; cin>>t; int ans=1; while(t--) { scanf("%d%d",&n,&m); temp=n*m; memset(vis,0,sizeof(vis)); vis[0][0]=1; printf("Scenario #%d:\n",ans++); if(!dfs(0,0,1,"A1")) printf("impossible\n\n"); } return 0;}
0 0
- POJ 2488(dfs+字典序)
- (水)POJ-2488字典序dfs
- poj A Knight's Journey(DFS)(字典序)
- poj 2488 A Knight's Journey(dfs+字典序路径输出)
- POJ 3764(dfs+字典树)
- POJ 1816 字典树+DFS
- poj 2488 A Knight's Journey 简单dfs回溯 字典序
- poj 2488 A Knight's Journey 【dfs】【字典序】【刷题计划】
- POJ 1816 Wild Words(字典树+dfs)
- 【POJ】1451 - T9(动态字典树 & dfs & STL)
- POJ 2488(DFS)
- POJ 2488(DFS)
- poj_1256 DFS字典序
- POJ 1451 字典树+DFS + 剪枝
- 字典树+DFS Word Puzzles POJ 1204
- poj 1816 Wild Words(字典树+DFS)
- POJ 1816 Wild Words 字典树+DFS
- poj 2418 字典树+dfs 入门题
- 输入输出 字节,字符流
- hdu 5035 Delivery(概率&分部积分)
- Cocos2d-X 在MAC中创建项目
- 复变函数及应用 第四章学习感受
- 转:如何高效地判断数组中是否包含某特定值
- POJ 2488(dfs+字典序)
- 大学老师劝告大学生:千万不要成为这十种人
- hdu5040 不错的广搜<旋转的摄像头>
- CF#246 (Div. 2) A.
- cv::Mat成员函数 at(int row,int col)
- 我的项目8 css属性,实现阅读器重排版功能
- duilib CPaintManagerUI的WM_PAINT消息
- 实例介绍Cocos2d-x物理引擎:HelloPhysicsWorld
- 开发板中为用户设置密码出现unknown uid 0的解决办法