如题
#include<bits/stdc++.h>
using namespace std;
long long n , m;
long long x , y;
long long f[10005][10005];
long long a[10005][10005];
int main()
{
cin >> n >> m >> x >> y;
f[0][0] = 0;
a[x][y] = -1;
a[x - 1][y - 2] = a[x - 1][y + 2] = a[x - 2][y - 1] = a[x - 2][y + 1] = -1;
a[x + 1][y - 2] = a[x + 1][y + 2] = a[x + 2][y - 1] = a[x + 2][y + 1] = -1;
for(long long i = 0;i <= n;i++)
{
if(a[i][0] == -1)
{
break;
}
f[i][0] = 1;
}
for(long long i = 0;i <= m;i++)
{
if(a[0][1] == -1)
{
break;
}
f[0][i] = 1;
}
for(long long i = 1;i <= n;i++)
{
for(long long j = 1;j <= m;j++)
{
if(a[i][j] == -1)
{
f[i][j] = 0;
continue;
}
else
{
f[i][j] = f[i - 1][j] + f[i][j - 1];
}
}
}
cout << f[n][m];
return 0;
}