acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 题解(全网最详)

    这一题光看字面意思还是很难推出递推式的,我们来看一张图: 以上是一张当n == 2时的路线图。从中可以看出从出发点延伸出了三条路径‘1’,‘2’,‘3’。垂直的路径‘2’延伸出了三条新的路径——‘6’、‘7’、‘8’。其中有一条垂直的,两条水平的。而从出发点延伸出的另外两条线路——‘1’、‘3’却只各自延伸出了一条垂直的、一条水平的。 所以从中我们不难看出,垂直的路径会延伸出三条新的;水平的路径会延伸出两条新的,这样就可以开始算递推式了。 我们可以用一个数组a来存放当n == ai时的移动方案总数;用b来存放当前水平的路径数量(并处于叶部分),我们就可以很容易推出: b[i] = b[i - 1] + (a[i - 1] - b[i - 1]) * 2; 然后: a[i] = a[i - 1] + b[i]; 代码如下:

    userId_undefined
    THUNDER
    76阅读
    0回复
    6点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页