weixin_43113933 2020-05-30 18:34 采纳率: 58.3%
浏览 150
已采纳

马拦过河卒代码比较疑惑

方法1

#include <iostream>
#include <string.h>
using namespace std;
typedef  long long ll ;
ll f[16][16]={0};
bool dp[16][16];
ll F(ll i,ll j)
{
    if(dp[i][j]==0)
        return 0;
    if((i==0&&j==1)||(i==1&&j==0)||(i==0&&j==0))
        return 1;
    if(f[i][j])
        return f[i][j];
    else{
        if(i>=1&&j>=1)
            return  f[i][j]=F(i-1,j)+F(i,j-1);
        else if(i==0&&j>1)
            return f[i][j]=F(i,j-1);
        else
            return f[i][j]=F(i-1,j);
    }
}
int main() {
    memset(dp,1,sizeof(dp));
    int m,n,x,y;
    cin>>m>>n>>x>>y;
    dp[x][y]=0;
    dp[x - 1][y - 2] = 0; dp[x - 1][y + 2] = 0;
    dp[x + 1][y + 2] = 0; dp[x + 1][y - 2] = 0;
    dp[x - 2][y - 1] = 0; dp[x - 2][y + 1] = 0;
    dp[x + 2][y - 1] = 0; dp[x + 2][y + 1] = 0;
    cout<<F(m,n)<<endl;
    return 0;
}

/*运行结果
6 6 0 1
56

--------------------------------*/

方法2

#include<bits/stdc++.h>
using namespace std;
long long a[25][25],b[25][25];
void horse(int x,int y)
{
    a[x][y]=1;
    a[x-2][y-1]=1;
    a[x-2][y+1]=1;
    a[x-1][y-2]=1;
    a[x-1][y+2]=1;
    a[x+1][y-2]=1;
    a[x+1][y+2]=1;
    a[x+2][y-1]=1;
    a[x+2][y+1]=1;
}

int main()
{
   int bx,by,mx,my;
   cin>>bx>>by>>mx>>my;
    horse(mx+1,my+1);//马走日,防止数组越界,下标为负数

    b[1][1]=1;
    for(int i=1;i<=bx+1;i++)
        for(int j=1;j<=by+1;j++)
        {
           if((a[i][j]!=1)&&(b[i][j]==0))
            {
                b[i][j]=b[i-1][j]+b[i][j-1];//卒的两种走法
            }
        }

    cout<<b[bx+1][by+1];
    return 0;
}

/*运行结果
6 6 0 1
56

--------------------------------*/
此时却宕机了,我的疑惑是这两种方法不都越界了吗,第一种为什么没有宕机

  • 写回答

1条回答 默认 最新

  • 关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 9月25日

悬赏问题

  • ¥20 ue5运行的通道视频都会有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数