小白求助,卡在WA4, 已改ull,提前感谢大哥们了。。
查看原帖
小白求助,卡在WA4, 已改ull,提前感谢大哥们了。。
441256
tjhd1475楼主2020/11/30 20:28
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int die(int i,int j,int p,int q);
int main()
{
    int n,m,p,q;
    scanf("%d %d %d %d",&n,&m,&p,&q);
    unsigned long long map[25][25]={0};
    int horse[25][25]={0};
    map[0][0]=1;
    horse[p][q]=1;
    for(int i=0;i<=n;i++){
        for(int j=0;j<=m;j++){
            if(die(i,j,p,q))
                horse[i][j]=1;
        }
    }
    for(int i=0;i<=n;i++){
        for(int j=0;j<=m;j++){
            if(i==0&&j==0)
                continue;
            if(i>=1&&j>=1&&horse[i-1][j]==1&&horse[i][j-1]==1)
                map[i][j]=0;
            else if(i==0||horse[i-1][j]==1)
                map[i][j]=map[i][j-1];
            else if(j==0||horse[i][j-1]==1)
                map[i][j]=map[i-1][j];
            else{
                map[i][j]=map[i-1][j]+map[i][j-1];
            }

        }
    }
    printf("%llu",map[n][m]);
    return 0;
}
int die(int i,int j,int p,int q)
{
    if((fabs(i-p)==1&&fabs(j-q)==2)||(fabs(i-p)==2&&fabs(j-q)==1))
        return 1;
    else
        return 0;
}

2020/11/30 20:28
加载中...