EOJ 2253 深度优先搜索
来源:互联网 发布:局域网远程软件 编辑:程序博客网 时间:2024/06/08 03:51
简单的深度优先搜索,题目有3点需要注意
1.dfs的时候标记的处理
2.搜索的时候要按照字典序
3.输出不要忘了空行
代码如下:
#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>#include <queue>#include <map>using namespace std;int dx[8] = {-1, 1, -2, 2, -2, 2, -1, 1};//按照字典序搜索int dy[8] = {-2, -2, -1, -1, 1, 1, 2, 2};const int maxn = 100;int n, m, vis[maxn][maxn];struct Node{int x, y;};Node path[maxn][maxn];bool judge(){//判断棋盘的每一个位置是不是都走过了 for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) if (!vis[i][j]) return false; return true;}bool dfs(int x, int y){ vis[x][y] = 1; bool find_next = false; for (int d = 0; d < 8; d++){ int xx = x + dx[d]; int yy = y + dy[d]; if (xx>0&&xx<=n&&yy>0&&yy<=m&&!vis[xx][yy]){ find_next = true; //printf("%d %d -> %d %d\n", x, y, xx, yy); path[x][y] = Node{xx, yy}; if (dfs(xx, yy)) return true; vis[xx][yy] = 0;//一定要标记成0! path[x][y] = Node{0, 0}; } } if (!find_next && judge()) return true;//如果没有找到下一个状态,判断是不是棋盘的所有位置是不是走过了 return false;}void print_ans(int x, int y){ printf("%c%d", y - 1 + 'A', x); if (path[x][y].x){ print_ans(path[x][y].x, path[x][y].y); }else printf("\n");}int main(){ //freopen("1.txt", "r", stdin); int T, Case = 1; scanf("%d", &T); while (T--){ scanf("%d%d", &n, &m); printf("Scenario #%d:\n", Case++); memset(vis, 0, sizeof(vis)); for (int i = 0; i < maxn; i++)//路径数组初始化 for (int j = 0; j < maxn; j++) path[i][j] = Node{0, 0}; if (!dfs(1, 1)) printf("impossible\n"); else print_ans(1, 1); printf("\n");//输出空行 } return 0;}
0 0
- EOJ 2253 深度优先搜索
- EOJ 2521 深度优先搜索
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索 DFS
- 深度优先搜索遍历
- 深度优先搜索 DFS
- 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- hdoj1015Safecracker(深度优先搜索)
- [AI]深度优先搜索
- 深度优先搜索算法
- DFS 深度优先搜索
- 深度优先搜索
- 深度优先搜索算法
- 图解深度优先搜索
- 深度优先搜索
- 博弈论
- Android studio的初步优化
- 最长回文数(简单版)还不知道怎么原样输出
- iOS小技巧总结
- 终于加入了CSDN
- EOJ 2253 深度优先搜索
- 一次摄像头的任务 - 1
- swift之mutating关键字
- IP分片浅析
- 32.2 leetcode - 有重复数据的全排列
- poj 3006 Dirichlet's Theorem on Arithmetic Progressions
- 架构设计:系统存储(7)——MySQL数据库性能优化(3)
- 如何成为高手
- xXx图片助手