70,023
社区成员




#include<stdio.h>
#define DL 16 //定义下界
int r=0;
int f(int x,int y,const int m,const int n)
{
if(x==m)
{
if(n==y)
{
printf("i get here!\n");
++r;
}
return 0;
}
for(int i=1;i<=4;++i)
{
switch(i)
{
case 1:if(y>2)f(x+1,y-2,m,n);break;
case 2:if(y<DL-1)f(x+1,y+2,m,n);break;
case 3:if(y>1&&x<n-1)f(x+2,y-1,m,n);break;
case 4:if(y<DL&&x<n-1)f(x+2,y+1,m,n);break;
}
}
return 0;
}
int main()
{
int m=0,n=0,x=1,y=1;
scanf("%d%d",&m,&n);
f(x,y,m,n);
printf("一共有%d种走法",r);
return 0;
}