求助(上一个发错了)

回复帖子

@落灰 2020-08-01 22:43 回复
#include<bits/stdc++.h>
using namespace std;
int n,m,a,b;
long long p[23][23];
const int x[8]={-2,-1,-2,-1,1,2,1,2},y[8]={-1,-2,1,2,-2,-1,2,1};
int run(int i,int j)
{
    if(i>n||j>m||p[i][j]==-2) return 0;
    if(i==n&&j==m) return 1;
    if(p[i][j]==-1)
        p[i][j]=run(i+1,j)+run(i,j+1);
    return p[i][j];
}
int main()
{
    cin>>n>>m>>a>>b;
    for(int i=0;i<=n;i++)
        for(int j=0;j<=m;j++)
            p[i][j]=-1;
    for(int i=0;i<8;i++)
    {
        if(a+x[i]<1||b+y[i]<1||a+x[i]>n||b+y[i]>m)
            continue;
        p[a+x[i]][b+y[i]]=-2;
    }
    p[a][b]=-2;
    run(0,0);
    if(p[0][0]==-2) cout<<0;
    else cout<<p[0][0];
    return 0;
}
@落灰 2020-08-01 22:49 回复 举报

!居然还有人记得,话说那件事我十分抱歉,当时还什么都不懂

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。