20分蒟蒻求助

回复帖子

@Neil_Qian 2021-06-30 09:32 回复
#include<iostream>
using namespace std;
int main(){
    int mapx,mapy;
    int mx,my;
    int map[30][30];
    cin>>mapx>>mapy>>mx>>my;
    for(int i=0;i<=mapx;i++){
        for(int j=0;j<=mapy;j++){
            if(i==0||j==0){
                map[i][j]=1;
            }
            if(i==mx&&j==my||i==mx-2&&j==my-1||i==mx-1&&j==my-2||i==mx+1&&j==my-2||i==mx+2&&j==my-1||i==mx+2&&j==my+1||i==mx+1&&j==my+2||i==mx-1&&j==my+2||i==mx-2&&j==my+1){
                map[i][j]=-1;
            }
        }
    }
    map[0][0]=1;
    for(int i=1;i<=mapx;i++){
        for(int j=1;j<=mapy;j++){
            if(map[i][j]!=-1){
                if(map[i-1][j]==-1&&map[i][j-1]==-1){
                    map[i][j]=0;
                }
                else if(map[i-1][j]==-1){
                    map[i][j]=map[i][j-1];
                }
                else if(map[i][j-1]==-1){
                    map[i][j]=map[i-1][j];
                }
                else{
                    map[i][j]=map[i-1][j]+map[i][j-1];
                }
            }
        }
    }
    cout<<map[mapx][mapy]<<endl;
    return 0;
}
反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



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