请求dalao看看代码哪里有问题
查看原帖
请求dalao看看代码哪里有问题
553640
Konjac0629楼主2023/4/1 19:53
#include <iostream>

using namespace std;

bool doorClose[25][25];
long long methodNum[25][25];

int main(){
    int n,m,a,b;
    cin >> n >> m >> a >> b;
    doorClose[a][b]=true;
    if((a-1)>=0){
        if((b-1)>=0){
            doorClose[a-1][b-1]=true;
            doorClose[a-1][b]=true;
            doorClose[a-1][b+1]=true;
            doorClose[a][b-1]=true;
            doorClose[a][b+1]=true;
            doorClose[a+1][b-1]=true;
            doorClose[a+1][b]=true;
            doorClose[a+1][b+1]=true;
        }
        else{
            doorClose[a-1][b]=true;
            doorClose[a-1][b+1]=true;
            doorClose[a][b+1]=true;
            doorClose[a+1][b]=true;
            doorClose[a+1][b+1]=true;
        }
    }
    else{
        if((b-1)>=0){
            doorClose[a][b-1]=true;
            doorClose[a+1][b-1]=true;
        }
        doorClose[a][b+1]=true;
        doorClose[a+1][b]=true;
        doorClose[a+1][b+1]=true;
    }
    for(int i=0;i<=n;i++){
        for(int j=0;j<=m;j++){
            if(!doorClose[i][j]){
                if((i==1||j==1)&&(!(i==1&&j==1)))
                    methodNum[i][j]=1;
                else
                    methodNum[i][j]=methodNum[i-1][j]+methodNum[i][j-1];
            }
        }
    }
    cout << methodNum[n][m] << endl;
    return 0;
}
2023/4/1 19:53
加载中...