貌似是我做的第一道dp题,hh岁月如水,很简单就不说啥了
#include <cstdio>
long long step[25][25];
bool map[25][25];
int main(){
int b1,b2,m1,m2;
scanf("%d%d%d%d",&b1,&b2,&m1,&m2);
map[m1][m2]=map[m1-1][m2+2]=map[m1+2][m2+1]=true;
map[m1-2][m2+1]=map[m1+1][m2-2]=map[m1-1][m2-2]=true;
map[m1+2][m2-1]=map[m1+1][m2+2]=map[m1-2][m2-1]=true;
step[1][0]=1;
for(int i=1;i<=b1+1;i++)for(int j=1;j<=b2+1;j++)
if(!map[i-1][j-1])step[i][j]=step[i-1][j]+step[i][j-1];
printf("%lld",step[b1+1][b2+1]);
return 0;
}