#include<string>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
#define x first
#define y second
const int N = 110;
LL f[N][N];
int dx[] = {0, 1}, dy[] = {1, 0};
PII m, b;
int ans = 0;
int check(PII s) {
if (s.x == m.x && s.y == m.y)return false;
if (s.x == m.x - 2 && s.y == m.y - 1 )return false;
if (s.x == m.x + 2 && s.y == m.y - 1 )return false;
if (s.x == m.x + 2 && s.y == m.y + 1 )return false;
if (s.x == m.x - 2 && s.y == m.y + 1 )return false;
if (s.x == m.x - 1 && s.y == m.y - 2 )return false;
if (s.x == m.x + 1 && s.y == m.y - 2 )return false;
if (s.x == m.x + 1 && s.y == m.y + 2 )return false;
if (s.x == m.x - 1 && s.y == m.y + 2 )return false;
return true;
}
int main() {
cin >> b.x >> b.y >> m.x >> m.y;
f[0][0] = 1;
for(int i = 0; i <= b.x; i ++)
{
for(int j = 0; j <= b.y; j ++)
{
if(check({i,j}))
{
if(i > 0)f[i][j] = f[ i - 1][j];
if(j > 0)f[i][j] += f[i][j - 1];
}
}
}
cout << f[b.x][b.y] << endl;
}
链接