一道DP题求助!
  • 板块灌水区
  • 楼主Wrong_Accept
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/5 16:53
  • 上次更新2023/12/5 19:36:01
查看原帖
一道DP题求助!
977599
Wrong_Accept楼主2023/12/5 16:53

洛谷P1002题求助!

这道题不会可能会很丢人……
我是真的不会了,大家应该都知道,一道题最难的地方不在于写代码,而在于改代码!
我de代码:

#include<stdio.h>
using namespace std;
int m,n,x,y,dp[21][21];
int main(){
    scanf("%d%d%d%d",&n,&m,&x,&y);
    dp[0][1]=1;
    x++;
    y++;
    n++;
    m++;
    dp[x][y]=-1;
    if(y-2>0){
        if(x-1>0) dp[x-1][y-2]=-1;
        if(x+1<=n) dp[x+1][y-2]=-1;
    }if(y+2<=m){
        if(x-1>0) dp[x-1][y+2]=-1;
        if(x+1<=n) dp[x+1][y+2]=-1;
    }if(x-2>0){
        if(y-1>0) dp[x-2][y-1]=-1;
        if(y+1<=m) dp[x-2][y+1]=-1;
    }if(x+2<=n){
        if(y-1>0) dp[x+2][y-1]=-1;
        if(y+1<=m) dp[x+2][y+1]=-1;
    }for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(dp[i][j]>=0){
                if(dp[i-1][j]>=0)  dp[i][j]+=dp[i-1][j];
                if(dp[i][j-1]>=0)  dp[i][j]+=dp[i][j-1];
            }
        }
    }printf("%d",dp[n][m]);
    return 0;
}

哪位大佬能帮帮我啊?谢谢啦!

2023/12/5 16:53
加载中...