# include <iostream>
using namespace std;
int f[25][25], n, m, a, b;
bool check(int x, int y)
{
if (x == a && y == a) return 1;
if (x == a - 2 && y == b + 1) return 1;
if (x == a - 1 && y == b + 2) return 1;
if (x == a + 2 && y == b - 1) return 1;
if (x == a + 1 && y == b - 2) return 1;
if (x == a - 2 && y == b - 1) return 1;
if (x == a - 1 && y == b - 2) return 1;
if (x == a + 2 && y == b + 1) return 1;
if (x == a + 1 && y == b + 2) return 1;
return 0;
}
int main()
{
cin >> n >> m >> a >> b;
for (int i = 0; i <= n; i++)
f[i][0] = 1;
for (int i = 0; i <= m; i++)
f[0][i] = 1;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
if (check(i, j)) continue;
f[i][j] = f[i - 1][j] + f[i][j - 1];
}
}
cout << f[n][m] << endl;
return 0;
}
写了一个函数判断是不是被控制的点