3 条题解

  • 0
    @ 2025-6-12 18:58:02

    好玩

    #include<iostream>
    using namespace std;
    int hk[9][2]={{0,0},{2,1},{1,2},{-1,2},
    {-2,1},{-2,-1},{-1,-2},{1,-2},{2,-1}};
    long long f[25][25];
    int main(){
        int bx,by,hx,hy;
        cin>>bx>>by>>hx>>hy;
        for(int i=0;i<9;i++){
            int tx=hx+hk[i][0],ty=hy+hk[i][1];
            if(tx<0||ty<0||tx>bx||ty>by) continue;
            f[tx][ty]=-1;
        }
        if(f[0][0]!=-1) f[0][0]=1;
        for(int i=0;i<=bx;i++){
            for(int j=0;j<=by;j++){
                if(f[i][j]==-1) continue;
                if(f[i-1][j]!=-1&&i>=1) f[i][j]+=f[i-1][j];
                if(f[i][j-1]!=-1&&j>=1) f[i][j]+=f[i][j-1];
            }
        }
        cout<<f[bx][by];
        return 0;
    }
    

    信息

    ID
    5060
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    229
    已通过
    114
    上传者