同样是象棋中马的问题,有以下两个具体情景:
问题1:给起点,走三步,求所有可能到达的点
问题2:给起点,不限制步数,求能否到达终点
上边的dfs代码
void dfs(int x,int y,int s){
if(s == 4)
return;
vis[x][y] = 1;
mp[x][y] = '#';
for(int i = 0; i < 8; i++){
int tx = x + dir[i][0];
int ty = y + dir[i][1];
if(in(tx,ty) && !vis[tx][ty]){
dfs(tx,ty,s +