夕阳样桑 2023-08-10 07:21 采纳率: 50%
浏览 10

过河卒(信息学奥赛)

题目:

img


我的代码:

img


问题:老是提示有异常,应该是递归出了问题,大家帮忙看下应该怎么改?谢谢!

  • 写回答

2条回答 默认 最新

  • 蛋古河 2023-08-10 09:15
    关注

    你在递归函数里面的for循环有问题,
    问题的对数组的访问越界了。
    si[8]这个数组只有8个单位长度,里面只有8个元素,有si[0],si[1],si[2],si[3],si[4],si[5],si[6],si[7]。
    for循环中i=0开始,再到i=8的时候,这个时候进行了第9次循环,访问的是si[8],访问越界了。
    下面是出问题的地方:

    
    for (int i = 0; i <= 8; i++)
     {
        if (a == si[i][0] && b == si[i][1])
              return path(a + l, b) + path(a, b + 1) ;
    }
    

    这个地方应该这么修改。for循环判断语句不能i<=8,应该是i<8

    
    for (int i = 0; i < 8; i++)
     {
         if (a == si[i][0] && b == si[i][1])
              return path(a + 1, b) + path(a, b + 1) ;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 8月10日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22