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日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)