在此以走迷宫为例:
给定迷宫起点和终点,看能否到达:(xt,yt)
void f(int x,int y){ if(x<0||x>21||y<0||y>21){//判断是否超出迷宫 return; } for(i=0;i<4;i++){
if(ch[x][y]=='.'){
ch[x][y]='#'; if(x==xt+1&&y==yt+1){ flag=1; return ; } //四个方向 f(x,y+1); f(x,y-1); f(x+1,y); f(x-1,y);
ch[x][y] = '.';
} }
}
最后判断flag是否为1即可。