蒟蒻求助,60分
查看原帖
蒟蒻求助,60分
400642
GRjun楼主2021/7/21 19:32
#include <bits/stdc++.h>
using namespace std;
long long a, b, m, n;
int dir[9][2] = {{0,0},{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}};
bool used[15][15];
int f(int x,int y) 
{ 
    if(used[x][y]) 
    return 0;
    if(x==0 && y==0) 
    return 1;
    if(x==0)
    return f(x,y-1);
    if(y==0) 
    return f(x-1, y);
    int tmp=0;
    tmp+=f(x-1,y);
    tmp+=f(x,y-1); 
    return tmp;
} 
int main()
{
    cin>>m>>n>>a>>b;
    for(int i=0;i<=8;i++)
    {
        int nx=a+dir[i][0],ny=b+dir[i][1];
        if(nx>=0&&nx<=m&&ny>=0&&ny<=n)
            used[nx][ny]=true;
    }
    cout<<f(m,n);
    return 0;
}
2021/7/21 19:32
加载中...