这。。。还能用递归做?
by maoshuxuan @ 2021-07-24 08:01:09
```
#include<stdio.h>
int f(int m,int n,int x,int y)//(m,n)为终点,(x,y)为马的位置
{
if(m==0&&n==0) return 1;
else if(m<0||n<0) return 0;
else if(m==x-1&&n==y-2) return 0;
else if(m==x-1&&n==y+2) return 0;
else if(m==x-2&&n==y-1) return 0;
else if(m==x-2&&n==y+1) return 0;
else if(m==x+1&&n==y-2) return 0;
else if(m==x+1&&n==y+2) return 0;
else if(m==x+2&&n==y-1) return 0;
else if(m==x+2&&n==y+1) return 0;
else if(m==x&&n==y) return 0;
else
return (f(m-1,n,x,y)+f(m,n-1,x,y));
}
int main()
{
int m,n,x,y;
scanf("%d %d %d %d",&m,&n,&x,&y);
printf("%d",f(m,n,x,y));
return 0;
}
```
by 沃焦住就M @ 2021-08-14 11:07:22