社区讨论

简单题出错,求调,玄关

灌水区参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo1c020q
此快照首次捕获于
2023/10/22 18:34
2 年前
此快照最后确认于
2023/11/02 18:55
2 年前
查看原帖
CPP
#include<stdio.h>
int n,m,x,y;
long long dp[25][25];
bool pd(int a,int b){
    int dir[8][2]={{1,2},{2,1},{1,-2},{-2,1},{-1,2},{2,-1},{-1,-2},{-2,-1}};
    for(int i=0;i<8;i++){
        int dx=a+dir[i][0];
        int dy=b+dir[i][1];
        if(dx==x&&dy==y) return 1;
    }
    if(a==x&&b==y) return 1;
    return 0;
}
int main(){
    scanf("%d%d%d%d",&n,&m,&x,&y);
    for(int i=1;i<=m;i++) dp[0][i]=1;
    for(int i=1;i<=n;i++) dp[i][0]=1;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(pd(i,j)) continue;
			dp[i][j]=dp[i-1][j]+dp[i][j-1];
        }
    }
    printf("%lld",dp[n][m]);
    return 0;
}
WA了三个点,只要提出问题或建议,本人接受的情况下AC本题,都送一个关注!!!

回复

3 条回复,欢迎继续交流。

正在加载回复...