RT(别问我为什么被棕,发现了想申诉已经时间过了......)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll b1,b2,ma1,ma2;ll dp[25][25]={10086,};
for(ll i=0;i<25;i++){
for(ll j=0;j<25;j++){
dp[i][j]=10086;
}
}
cin>>b1>>b2>>ma1>>ma2;
ll dian1[10]={ma1,ma1-2,ma1-1,ma1+1,ma1+2,ma1-2,ma1-1,ma1+1,ma1+2},dian2[10]={ma2,ma2-1,ma2-2,ma2-2,ma2-1,ma2+1,ma2+2,ma2+2,ma2+1};//原点、左上竖、左上横、左下横、左下竖、右上竖、右上横、右下横、右下竖
for(ll i=0;i<=b1;i++) dp[i][0]=1;
for(ll i=0;i<=b2;i++) dp[0][i]=1;
/*for(ll i=0;i<=b1;i++){
for(ll j=0;j<=b2;j++){
cout<<dp[i][j]<<" ";
}
cout<<endl;
}*/
dp[dian1[0]][dian2[0]]=0;dp[dian1[1]][dian2[1]]=0;dp[dian1[2]][dian2[2]]=0;dp[dian1[3]][dian2[3]]=0;dp[dian1[4]][dian2[4]]=0;dp[dian1[5]][dian2[5]]=0;dp[dian1[6]][dian2[6]]=0;dp[dian1[7]][dian2[7]]=0;dp[dian1[8]][dian2[8]]=0;
for(ll i=1;i<=b1;i++){
for(ll j=1;j<=b2;j++){
if(dp[i][j]==10086){
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
}
// for(ll i=0;i<=b1;i++){
// for(ll j=0;j<=b2;j++){
// cout<<dp[i][j]<<" ";
// }
// cout<<endl;
// }
cout<<dp[b1][b2];
return 0;
}