提交时间:2023-04-19 22:47:19

运行 ID: 15150

#include<bits/stdc++.h> using namespace std; long long used[22][22]={}; long long f(int m,int n,int a,int b){ if(used[m][n]!=0)return used[m][n]; if(m==a&&n==b)return 0; if((m==a+1||m==a-1)&&(n==b+2||n==b-2))return 0; if((m==a+2||m==a-2)&&(n==b+1||n==b-1))return 0; if(m==1||n==1)return 1; return used[m][n]=f(m,n-1,a,b)+f(m-1,n,a,b); } int main(){ int m,n,a,b; cin>>m>>n>>a>>b; cout<<f(m+1,n+1,a+1,b+1); return 0; }