这道题用动态硅规划是不给过吗,我测试了几个数据都是对的,但是全是WA
查看原帖
这道题用动态硅规划是不给过吗,我测试了几个数据都是对的,但是全是WA
496599
EXJ2gyx楼主2022/10/14 13:18
#include<bits/stdc++.h>
using namespace std;

int main()
{
    long long dp[21][21];
    int a[21][21];
    int dn[]={0,-1,-2,-2,-1,1,2,2,1};//横坐标
    int dm[]={0,2,1,-1,-2,2,1,-1,-2};//纵坐标
    int n,m,hn,hm;//hm,hn为马的位置
    int nn,mm;//马能走的位置

    cin>>n>>m>>hn>>hm;
    
    memset(dp,0,sizeof(dp));

    for(int i=0;i<9;i++)
    {
        nn=dn[i]+hn;
        mm=dm[i]+hm;
        if(mm>=0&&mm<=m&&nn>=0&&nn<=n)
            a[nn][mm]=1;
    }

    dp[0][0]=1;

    for(int i=0;i<=n;i++)
    {
        for(int j=0;j<=m;j++)
        {
            if(1==a[i][j])
                dp[i][j]=0;
            else
            {
                if(i>0)
                    dp[i][j]+=dp[i-1][j];
                if(j>0)
                    dp[i][j]+=dp[i][j-1];

            }
        }
    }

    cout<<dp[n][m];



    return 0;
}
2022/10/14 13:18
加载中...