3,4测试点超时,求大佬帮忙
查看原帖
3,4测试点超时,求大佬帮忙
1097140
meixintui楼主2023/11/28 10:08

3,4测试点超时,求大佬帮忙

#include <bits/stdc++.h>
using namespace std;
int arr[25][25];
long long dg(int n,int m)
{
    
    if(arr[n][m]==1)
    {
        return 0;
    }
    if(n-1<0&&m-1>=0)
    {
        return dg(n,m-1);
    }
    else if(m-1<0&&n-1>=0)
    {
        return dg(n-1,m);
    }
    else if(m-1<0&&n-1<0)
    {
        return 1;
    }
    else
    {
        return dg(n-1,m)+dg(n,m-1);
    }
}
int main()
{
    int n,m,a,b;
    cin>>n>>m>>a>>b;
    
    arr[a][b]=1;
    if(a-1>=0&&b-2>=0)
    {
        arr[a-1][b-2]=1;
    }
    if(a-2>=0&&b-1>=0)
    {
        arr[a-2][b-1]=1;
    }
    if(a-2>=0&&b+1<=m)
    {
        arr[a-2][b+1]=1;
    }
    if(a-1>=0&&b+2<=m)
    {
        arr[a-1][b+2]=1;
    }
    if(a+1<=n&&b+2<=m)
    {
        arr[a+1][b+2]=1;
    }
    if(a+2<=n&&b+1<=m)
    {
        arr[a+2][b+1]=1;
    }
    if(a+1<=n&&b-2>=0)
    {
        arr[a+1][b-2]=1;
    }
    if(a+2<=n&&b-1>=0)
    {
        arr[a+2][b-1]=1;
    }
    
    cout<<dg(n,m);
    return 0;
}
2023/11/28 10:08
加载中...