8.python解答2013年蓝桥杯省赛C++A组 振兴中华

题目】标题: 振兴中华

小明参加了学校的趣味运动会,其中的一个项目是:跳格子。

地上画着一些格子,每个格子里写一个字,如下所示:

从我做起振
我做起振兴
做起振兴中
起振兴中华

比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。

要求跳过的路线刚好构成“从我做起振兴中华”这句话。

请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

2 思路

这道题要我们枚举所有的可能,枚举有两种方法:递归和迭代

这道题用递归做较简单,递归有三个要素

找重复,利用重复不断减小问题的规模;

找变化,变化的状态量就是递归的参数;

找出口,判断什么可以退出递归。

观察题目,其实在每个格子上时都只能向下走或者向右走,(比如在(2,2)的字时,虽然可以有4种走法,但只有向右和向下是正确的)在当前格子上有两种走法;

结束条件

当到达边界处时可以结束递归了,比如走到最下面一行格子或者最右边一列格子时,只能一路向右走,这时从当前格子走到最后只能有一种走法

还好他没有在中间的格子结束,比较简单。只有在最后的一格有字,结束条件简单很多

3.代码


# 振兴中华def f(x,y):  # 变化的状态量就是当前的坐标(找变化)# 结束条件if x==3 or y==4:return 1  # 如果走到边界,只有一种走法,直接return 1(找出口)return f(x+1, y)+f(x, y+1)  # 没有走到边界,那么当前格子有两种走法,两者相加就是从当前格子走到最后的方法数 (找重复)if __name__=='__main__':print(f(0,0))

也可以用一个变量来计数

# 振兴中华count = 0;
def f(x,y):# 结束条件if x==3 or y==4:global countcount += 1return 1f(x+1, y)  # 向右f(x, y+1)  # 向下if __name__=='__main__':f(0,0)print(count)

8.python解答2013年蓝桥杯省赛C++A组 振兴中华相关推荐

  1. 11.python解答2020年蓝桥杯省赛python组 寻找2020

    11.python解答2020年蓝桥杯省赛python组 寻找2020 问题描述 小蓝有一个数字矩阵,里面只包含数字 0 和 2.小蓝很喜欢 2020,他想找到这个数字矩阵中有多少个 2020 . 小 ...

  2. 9.python解答2020年蓝桥杯省赛python组 门牌制作

    9.python解答2020年蓝桥杯省赛python组 门牌制作 问题描述 小蓝要为一条街的住户制作门牌号. 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号. 小蓝制作门牌的方法是先 ...

  3. 7.python解答2018年第九届蓝桥杯省赛C++A组 分数

    7.python解答2018年第九届蓝桥杯省赛C++A组 分数 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项,求这个和是多少,结果 ...

  4. Python【2019年蓝桥杯省赛C++填空】

    文章目录 Python[2019年蓝桥杯省赛C++填空] A.平方和 代码: 答案:2658417853 B.数列求值 代码: 答案:4659 C.最大求雨量 答案:34 D.迷宫 代码: 答案: 感 ...

  5. Python【2021年蓝桥杯省赛填空】

    文章目录 Python[2021年蓝桥杯省赛填空] A.卡片 B.直线 C.货物摆放 D.路径 E.回路计数[状态压缩DP] Python[2021年蓝桥杯省赛填空] A.卡片 note = [202 ...

  6. [第四届蓝桥杯省赛C++B组]省赛全题目题解

    文章目录 快速分支通道 1.高斯日记 来源: 第四届蓝桥杯省赛C++A/B组 算法标签 模拟 题目描述 输出格式 思路 CPP代码 2.马虎的算式 题目描述: 算法标签: 枚举 题目答案: 题目思路: ...

  7. 2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数

    2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数 在线评测 Ideas 对于一个纯循环小数,假设循环节为l,则小数为0.llll-,转换为分数就是 l / (10 ** n ...

  8. 蓝桥杯国赛C++A组B组题解整理(第八、七、六、五、四届)

    [写在前面的话19.04.04] 今年省赛的结果出的意外得快,有很多小伙伴来和我分享他们进了省一的喜悦,并问我啥时候更新国赛题解,emmm--不是我不想更新,实在是抽不出时间,有缘再更--虽然不更新题 ...

  9. 【蓝桥杯Web】大一小白参与蓝桥杯模拟赛二期web组体会

    目录 前言 一.相关比赛介绍 1.ACM国际大学生程序设计竞赛 2.蓝桥杯 3.GPLT团队程序设计天梯赛 4.leetcode周赛和双周赛 5.PAT 二.蓝桥杯 1.应该参加蓝桥杯吗? 2.如何进 ...

最新文章

  1. 笔记-项目管理过程组与知识领域(基础)
  2. vue中过滤器比较两个数组取相同值
  3. VMware 11完全安装Mac OS X 10.10
  4. 山东省中职信息技术c语言试题及答案,中职计算机专业C语言测试题
  5. 网络通信tcp与udp的区别
  6. Spring boot - 整合 Redis缓存(下)
  7. sqlserver 2008修改数据库表的时候错误提示“阻止保存要求重新创建表的更改”...
  8. 读书随笔:The Book of Why——CHAPTER 2:From Buccaneers to Guinea Pigs: The Genesis of Causal Inference
  9. Linux(CentOS)安装Node.JS和npm的两种方式(yum安装和源码安装)
  10. c语言单链表怎么循环链表,链表之循环单链表(用C语言描述)
  11. Lattice diamond软件中的Clarity Designer 与 IPexpress切换
  12. js页面刷新或关闭时弹框
  13. python中def func是什么意思_python中的函数def和函数的参数
  14. 综合1:stm32F4,ATKESP8266wifi,DS1302,AT24C02,KEY状态机,LCD屏幕320*240
  15. 视觉检测系统设计过程中遇到的问题
  16. 2018年目标——计划未来
  17. JS学习之路系列总结五行阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)
  18. 什么是SCRM 客户scrm管理系统 - whale 帷幄
  19. [统计学理论基础] 中心极限定理与大数定律的区别
  20. Java 岗最全面试攻略,吃透 25 个技术栈 Offer 拿到手软

热门文章

  1. centos,debian,ubuntu系统国内源下载地址
  2. FFmpeg+SDL2音频播放器
  3. 学计算机等级考试电脑版软件,全国计算机等级考试超级模拟软件 V2018.09 官方版...
  4. 更改ubuntu登陆界面
  5. 怎样规划你毕业以后的人生 收藏
  6. 【汇智学堂】-JS菜鸟版过河小游戏(之一---角色入场)
  7. 在元宇宙上做传统建筑施工培训提高培训安全性和效果
  8. java私塾课堂实录学习视频
  9. 【计算机体系结构】计算机体系结构(6) 并行处理技术(1) SIMD并行计算机、算法和互联网络
  10. nuxt实现阿里云vod视频上传时候引入vod相关的js时候遇到的坑