3,4点WA求解
查看原帖
3,4点WA求解
1160220
happy_lazier楼主2023/11/12 20:54
#include<stdio.h>
int main(){
    long long int L[21][21];
    int a,b,c,d;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    for(int i=0;i<=a;i++){
        for(int j=0;j<=b;j++){
           L[i][j]=1; 
        }
    }
    L[c][d]=-1;
    if(c+1<=a&&d+2<=b)L[c+1][d+2]=-1;
    if(c+1<=a&&d-2<=b&&d-2>=0)L[c+1][d-2]=-1;
    if(c-1>=0&&c-1<=a&&d+2<=b)L[c-1][d+2]=-1;
    if(c-1>=0&&c-1<=a&&d-2<=b&&d-2>=0)L[c-1][d-2]=-1;
    if(c+2<=a&&d+1<=b)L[c+2][d+1]=-1;
    if(c+2<=a&&d-1<=b&&d-1>=0)L[c+2][d-1]=-1;
    if(c-2<=a&&c-2>=0&&d+1<=b)L[c-2][d+1]=-1;
    if(c-2<=a&&c-2>=0&&d-1<=b&&d-1>=0)L[c-2][d-1]=-1;
    for(int i=1;i<=a;i++){
        for(int j=1;j<=b;j++){
            if(L[i][j]==-1)continue;
            if(L[i-1][j]==-1&&L[i][j-1]==-1){
                L[i][j]=-1;
            }
            else if(L[i-1][j]==-1){
                L[i][j]=L[i][j-1];
            }
            else if(L[i][j-1]==-1){
                L[i][j]=L[i-1][j];
            }
            else{
                L[i][j]=L[i-1][j]+L[i][j-1];
            }
        }
    }
    printf("%lld",L[a][b]);
}
2023/11/12 20:54
加载中...