用栈模拟深度优先搜索

Post by zerob13

dfs, 搜索, 数据结构, , 深搜, 算法

题目原型来自HDUOJ的1372 Knight Moves 很简单的一个搜索题 就是告诉你棋盘上的两个点,然后让你算出Knight,也就是国际象棋的马,最少多少步能够从一个点到另一个点。 算法很简单,深搜即可,这个不是本文讨论的问题。这里我是把原来通过函数递归调用的深搜改为用栈自行模拟 代码如下: include<stdio.h> #include using namespace std; #define INF 99999 int map[8][8]; int dir[8][2]={{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}}; struct…