博客
关于我
振兴中华(蓝桥杯13年第四届省赛真题 JAVA-B组)
阅读量:120 次
发布时间:2019-02-27

本文共 1109 字,大约阅读时间需要 3 分钟。

小明参加了学校的趣味运动会,跳格子项目看起来挺有意思的。题目要求从起点跳到终点“华”字,路线必须是“从我做起振兴中华”。我们需要帮助小明计算他一共有多少种可能的跳跃路线。

首先,我们需要明确格子的布局和位置。假设格子是一个4行5列的网格,起点在左上角的“从”字的位置(坐标(0,0)),终点在最后一行最后一列的“华”字的位置(坐标(3,4))。

接下来,我们可以使用动态规划的方法来计算每个格子到达的次数。每个格子(i,j)的到达次数由从左边(i,j-1)和从上面(i-1,j)到达的次数之和决定。边界的格子,第一行的每个格子只能从左边跳来,第一列的每个格子只能从上面跳来。

初始化时,第一行的每个格子到达次数均为1(因为只能从左边跳来),第一列的每个格子到达次数也均为1(因为只能从上面跳来)。然后,从第二行第二列开始,依次计算每个格子的到达次数。

具体计算步骤如下:

  • 初始化:

    • 第一行:a[0][0]=1, a[0][1]=1, a[0][2]=1, a[0][3]=1, a[0][4]=1
    • 第一列:a[1][0]=1, a[2][0]=1, a[3][0]=1
  • 计算每个格子的到达次数:

    • i=1(第二行):
      • j=1:a[1][1] = a[0][1] + a[1][0] = 1 + 1 = 2
      • j=2:a[1][2] = a[0][2] + a[1][1] = 1 + 2 = 3
      • j=3:a[1][3] = a[0][3] + a[1][2] = 1 + 3 = 4
      • j=4:a[1][4] = a[0][4] + a[1][3] = 1 + 4 = 5
    • i=2(第三行):
      • j=1:a[2][1] = a[1][1] + a[2][0] = 2 + 1 = 3
      • j=2:a[2][2] = a[1][2] + a[2][1] = 3 + 3 = 6
      • j=3:a[2][3] = a[1][3] + a[2][2] = 4 + 6 = 10
      • j=4:a[2][4] = a[1][4] + a[2][3] = 5 + 10 = 15
    • i=3(第四行):
      • j=1:a[3][1] = a[2][1] + a[3][0] = 3 + 1 = 4
      • j=2:a[3][2] = a[2][2] + a[3][1] = 6 + 4 = 10
      • j=3:a[3][3] = a[2][3] + a[3][2] = 10 + 10 = 20
      • j=4:a[3][4] = a[2][4] + a[3][3] = 15 + 20 = 35
  • 最终,格子(3,4)的到达次数为35,这意味着小明有35种可能的跳跃路线。

    答案:35

    转载地址:http://jzcb.baihongyu.com/

    你可能感兴趣的文章
    nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    查看>>
    Nuget~管理自己的包包
    查看>>
    NuGet学习笔记001---了解使用NuGet给net快速获取引用
    查看>>
    nullnullHuge Pages
    查看>>
    NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
    查看>>
    null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
    查看>>
    Numix Core 开源项目教程
    查看>>
    NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
    查看>>
    numpy 或 scipy 有哪些可能的计算可以返回 NaN?
    查看>>
    numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
    查看>>
    numpy 数组与矩阵的乘法理解
    查看>>
    NumPy 数组拼接方法-ChatGPT4o作答
    查看>>
    numpy 用法
    查看>>
    Numpy 科学计算库详解
    查看>>
    Numpy.fft.fft和numpy.fft.fftfreq有什么不同
    查看>>
    Numpy.ndarray对象不可调用
    查看>>
    numpy判断对应位置是否相等,all、any的使用
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    numpy数组替换其中的值(如1替换为255)
    查看>>
    numpy数组索引-ChatGPT4o作答
    查看>>