问题标题: @吴

0
0

0
已采纳
吴晨希
吴晨希
新手光能
新手光能

#include<iostream>
using namespace std;
int m,n,x,y;
bool vis[25][25];
int dir[9][2]={{0,0},{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1}};
int f(int i,int j){
    if(vis[i][j]){
        return 0;
    }
    if(i==0&&j==0){
        return 1;
    }
    int sum=0;
    if(i-1>=0){
        sum+=f(i-1,j);
    }
    if(j-1>=0){
        sum+=f(i,j-1);
    }
    return sum;
}
int main(){
    cin>>m>>n>>x>>y;
    for(int i=0;i<=8;i++){
        int dx=x+dir[i][0];
        int dy=y+dir[i][1];
        if(dx>=0&&dx<=m&&dy>=0&&dy<=n){
            vis[dx][dy]=true;
        }
    }
    cout<<f(m,n);
    return 0;
}

我要回答