rt,请不要让你的dfs反复横跳
int dep,xs,ys,cx[]={0,-1,1,0},cy[]={-1,0,0,1}; /* 分别是 0:向上 1:向左 2:向右 3:向下
上下和为3,左右和为3,让你的上一步和这一步走的方向操作数和不为3即可 即
bool Astar(int xt,int yt,int step,int dir) //dir存储上一步操作数 if(xx>=1&&xx<=3&&yy>=1&&yy<=3&&dir+i!=3) //剪枝优化