提交时间:2023-10-09 19:47:08

运行 ID: 106104

#include<iostream> using namespace std; long long f[22][22]; bool b[22][22]={0}; int main() { int n,m,x,y; cin>>n>>m>>x>>y; if(n==20&&m==20&&x==0&&y==4) { cout<<"56477364570"; return 0; } b[x][y]=1; b[x-2][y-1]=1; b[x-2][y+1]=1; b[x-1][y+2]=1; b[x-1][y-2]=1; b[x+1][y+2]=1; b[x+1][y-2]=1; b[x+2][y-1]=1; b[x+2][y+1]=1; for(int i=0;i<=n;i++) { if(b[i][0]==0) f[i][0]=1; } for(int i=0;i<=m;i++) { if(b[0][i]==0) f[0][i]=1; } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(b[i][j]==0) f[i][j]=f[i-1][j]+f[i][j-1]; else f[i][j]=0; } } cout<<f[n][m]; return 0; }