入门级别的搜索题,但是我还是没搞出来,看了别人的才想到,我觉得很经典,所以放在这里,方便以后自己学习。
地鼠逃跑计划
#include<bits/stdc++.h>
using namespace std;
int m,n,x,y,k;
//递归中不要用自减或自增
int dfs(int u,int v, int left_steps){
if(u<0||u>=m||v<0||v>=n) //已经走出去了
return 1;
if(left_steps==0) //还没走出去
return 0;
return dfs(u-1,v,left_steps-1) + dfs(u+1,v,left_steps-1) + dfs(u,v-1,left_steps-1) + dfs(u,v+1,left_steps-1);
}
int main(){
scanf("%d%d%d%d%d",&m,&n,&x,&y,&k);
printf("%d",dfs(x,y,k));
return 0;
}