代码如下:
#include<iostream>
using namespace std;
long long a[25][25];
bool ma[25][25];
int main()
{
int n,m,x,y;
scanf("%d%d%d%d",&n,&m,&x,&y);
for(int i=0; i<=20; i++)
for(int j=0; j<=20; j++)
ma[i][j]=true;
ma[x][y]=false;
ma[x-1][y-2]=false;
ma[x+1][y-2]=false;
ma[x-2][y-1]=false;
ma[x+2][y-1]=false;
ma[x-2][y+1]=false;
ma[x+2][y+1]=false;
ma[x-1][y+2]=false;
ma[x+1][y+2]=false;
for(int i=0; i<=n; i++)
for(int j=0; j<=m; j++)
if(i==0||j==0)
a[i][j]=1;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++){
if(ma[i-1][j]==true)
a[i][j]+=a[i-1][j];
if(ma[i][j-1]==true)
a[i][j]+=a[i][j-1];
}
cout<<a[n][m];
return 0;
}
我还模拟了样例,也对啊:
1111111
12*1*12
1*011*2
111*113
1*111*3
11*1*03
1223336