c语言#4没过,求助大佬
查看原帖
c语言#4没过,求助大佬
1281237
ffussu楼主2024/3/22 09:03
#include<stdio.h>
#define MAX 21
int main(){
    int n,m,a,b;
    scanf("%d %d %d %d",&n,&m,&a,&b);
    double dp[MAX][MAX]={0};
    int moves[][2]={{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2}};
    int blocked[MAX][MAX]={0};
    blocked[a][b]=1;
    for(int k=0;k<8;k++){
        int x=a+moves[k][0];
        int y=b+moves[k][1];
        if(x>0&&x<=n&&y>0&&y<=m)
            blocked[x][y]=1;
    }
    dp[0][0]=1;
    for(int i=0;i<=n;i++){
        for(int j=0;j<=m;j++){
            if(blocked[i][j])
                continue;
            if(i>0)
                dp[i][j]+=dp[i-1][j];
            if(j>0)
                dp[i][j]+=dp[i][j-1];
        }
    }
    printf("%.0f",dp[n][m]);
    return 0;
}
2024/3/22 09:03
加载中...