问题标题: 5100

0
0

0
已采纳
董博
董博
初级守护
初级守护

#include<iostream>
#include<cstring>
#include<string>
using namespace std; 
int dir[9][2]={{0,0},{1,2},{2,1}};
bool g[1005][1005];
int f[1005][1005];
int main(){
int a,b,n,m,na,nb,o=0,k=0;
cin>>n>>m>>a>>b;
f[0][0]=1;
for(int i=0;i<=n;i++){
    for(int j=0;j<=m;j++){
    if(i==0&&j==0||i==a||j==b){
        continue;
    }

int l1=i-2,r1=j-1,l2=i-1,r2=j-2;
if(l1>=0||r1>=0){
    f[i][j]+=f[l1][r1];
}
if(l2>=0||r2>=0){
    f[i][j]+=f[l2][r2];
}
}
}

cout<<f[n][m];
    return 0;
}//2742

0
我要回答