怎么回事啊
查看原帖
怎么回事啊
980202
Orange0628楼主2025/6/21 14:21
#include<bits/stdc++.h>
using namespace std;
int f[29][29],b1,b2,n1,n2;
void init(){
    for(int i=0;i<b1;i++)
        for(int j=0;j<b2;j++)
            f[i][j]=1;
    f[n1][n2]=0;
    if(n1>=1&&n2>=2)f[n1-1][n2-2]=0;
    if(n1>=2&&n2>=1)f[n1-2][n2-1]=0;
    if(n1<=b1-1&&n2>=2)f[n1+1][n2-2]=0;
    if(n1<=b1-2&&n2>=1)f[n1+2][n2-1]=0;
    if(n1>=1&&n2<=b2-2)f[n1-1][n2+2]=0;
    if(n1>=2&&n2<=b2-1)f[n1-2][n2+1]=0;
    if(n1<=b1-1&&n2<=b2-2)f[n1+1][n2+2]=0;
    if(n1<=b1-2&&n2<=b2-1)f[n1+2][n2+1]=0;
}
int main(){
    cin>>b1>>b2>>n1>>n2;
    init();
    for(int i=1;i<=b1;i++)
        for(int j=1;j<=b2;j++){
            if(f[i][j]!=0)f[i][j]=f[i][j-1]+f[i-1][j];
        }
    cout<<f[b1][b2];
}

不会了

2025/6/21 14:21
加载中...