大佬帮帮我P1002 C++
#include<bits/stdc++.h>
using namespace std;
int h[21][21];
long long int judge(int x,int y,int a,int b)
{
int num=0;
if(h[x][y]==1)
return 0;
else if(x==a||y==b)
return 1;
else return judge(x+1,y,a,b)+judge(x,y+1,a,b);
}
int main()
{
int i,a,b,c,d;
cin>>a>>b>>c>>d;
h[c][d]=1;
if(c==0)
{
if(d==0)
{
h[c+2][d+1]=1;
h[c+1][d+2]=1;
}
else if(d==1)
{
h[c+2][d+1]=1;
h[c+1][d+2]=1;
h[c+2][d-1]=1;
}
else {
h[c+2][d+1]=1;
h[c+1][d+2]=1;
h[c+2][d-1]=1;
h[c+1][d-2]=1;
}
}
if(c==1)
{
if(d==0)
{
h[c+2][d+1]=1;
h[c+1][d+2]=1;
h[c-1][d+2]=1;
}
else if(d==1)
{
h[c+2][d+1]=1;
h[c+1][d+2]=1;
h[c+2][d-1]=1;
h[c-1][d+2]=1;
}
else {
h[c+2][d+1]=1;
h[c+1][d+2]=1;
h[c+2][d-1]=1;
h[c+1][d-2]=1;
h[c-1][d-2]=1;
h[c-1][d+2]=1;
}
}
else
{
if(d==0)
{
h[c+2][d+1]=1;
h[c+1][d+2]=1;
h[c-1][d+2]=1;
h[c-2][d+2]=1;
}
else if(d==1)
{
h[c+2][d+1]=1;
h[c+1][d+2]=1;
h[c+2][d-1]=1;
h[c-2][d+1]=1;
h[c-2][d-1]=1;
h[c-1][d+2]=1;
}
else{
h[c+2][d+1]=1;
h[c+2][d-1]=1;
h[c-2][d-1]=1;
h[c-2][d+1]=1;
h[c+1][d+2]=1;
h[c+1][d-2]=1;
h[c-1][d-2]=1;
h[c-1][d+2]=1;
}
}
cout<<judge(0,0,a,b);
return 0;
}