资源限制
时间限制:1.0s 内存限制:256.0MB

问题描述
  青蛙X正准备跳过一座桥,这座桥被划分为N段,记青蛙所在的起始点为0,桥的末端为N。桥上的一些点有一些石子,这些点是无法跳上去的。青蛙每次跳跃能向前跳跃+1,+2,+3段,现在请你算出跳到末端的总方法数。如果无法到达,请输出”No Way!"
  
输入格式
  输入数据共N行。
  第一行一个数字N,代表桥的长度。
  接下来N行,表示从点1~N的道路情况,每行一个数字0或1,1表示有石子。
  
输出格式
  输出一行,为一个整数,代表方法数,无法到达为“No Way!"
  由于数据过大,我们只需要求出 对 1000000007 的余数即可
  
样例输入
5
1
0
0
1
0

样例输出
3

数据规模和约定
  N <= 10^6

个人分析:因为青蛙跳跃每次只能+1,+2,+3,所以开始我想使用递归的方法去求解,但是所写的代码只得了10分,其他都报运行错误,测试样例是通过的,没搞懂哪里出错了。
后来看到一个大佬的方法,属实是妙!大佬传送门
使用python实现相同思路,但是只拿到了90分,那位大佬的C++代码是可以拿到一百分的,下面代码有一个运行超时,不理解。

附上代码:

def jinji(dp,num):if dp[-1]==1:return "No Way!"dp[1] = 1 if dp[1]==0 else 0dp[2] = dp[1]+1 if dp[2]==0 else 0dp[3] = dp[2]+dp[1]+1 if dp[3]==0 else 0for i in range(4,num+1):if dp[i]==1:dp[i] = 0else:dp[i] = (dp[i-1]+dp[i-2]+dp[i-3])%1000000007if dp[-1] == 0:return "No Way!"else:return dp[-1]
if __name__=="__main__":n= int(input())dp = [0]*(n+1)for i in range(1,n+1):dp[i] = int(input())print(jinji(dp,n))

蓝桥杯试题 算法训练 进击的青蛙 python相关推荐

  1. 蓝桥杯 试题 算法训练 进击的青蛙(C++)

    进击的青蛙 题目浏览 算法浏览 核心思路 题目浏览 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 青蛙X正准备跳过一座桥,这座桥被划分为N段,记青蛙所在的起始点为0,桥的末端为N. ...

  2. 试题 算法训练 进击的青蛙

    问题描述 青蛙X正准备跳过一座桥,这座桥被划分为N段,记青蛙所在的起始点为0,桥的末端为N.桥上的一些点有一些石子,这些点是无法跳上去的.青蛙每次跳跃能向前跳跃+1,+2,+3段,现在请你算出跳到末端 ...

  3. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  4. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解 - 未完善

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  5. 蓝桥杯 试题 算法训练 筛选号码 Java

    蓝桥杯 试题 算法训练 筛选号码Java 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3 ...

  6. 蓝桥杯 试题 算法训练 无聊的逗

    蓝桥杯 试题 算法训练 无聊的逗 问题描述 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘 ...

  7. 蓝桥杯试题 算法训练 绘制地图

    蓝桥杯试题 算法训练 绘制地图 问题描述 最近,WYF正准备参观他的点卡工厂.WYF集团的经理氰垃圾需要帮助WYF设计参"观"路线.现在,氰垃圾知道一下几件事情: 1.WYF的点卡 ...

  8. 蓝桥杯试题 算法训练 Have You Ever Heard About the Word?

    试题 算法训练 Have You Ever Heard About the Word? 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 一个字符串的子串是该字符串的一段连续子序列,如 ...

  9. 蓝桥杯试题 算法训练 印章

    试题 算法训练 印章 C/C++ 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 ...

最新文章

  1. R语言统计代码运行耗时实战:计算代码运行时间、使用proc.time函数计算代码运行时间
  2. 【业务知识】档案数字化加工处理过程
  3. [z]如何在一台windows主机上安装多个mysql服务
  4. Spark编程指南V1.4.0(翻译)
  5. 多项式全家桶学习笔记【持续更新】
  6. java studentmanager_StudentManager.java
  7. 怎样用python随机生成100内的100个奇数_python怎么随机生成奇数_后端开发
  8. mysql数据库复习
  9. poj1860Currency Exchange(bell_fordmoban)
  10. 【毕设教学】单片机控制步进电机
  11. FPGA 可编程性与布局布线原理探究
  12. 1.1 电 电流 电压 电路 基本电子元件
  13. win10下使用pycharm实现基于pyg的cora+citeseer+pubmed数据集的JKNET模型测试
  14. My Fifty-eighth - Page - 全排列 - By Nicolas
  15. miniPCIE接口更换M.2/NGFF接口AX200无线网卡教程——华硕X450V笔记本更换intel AX200无线网卡
  16. 1.Requests库
  17. Java中级内容——异常处理(exception handing)
  18. 一款自制calendar插件
  19. 基于深度学习的场景分类算法
  20. 机器学习入门系列之PCA降维

热门文章

  1. 检信智能AI心理测评背后的创业故事
  2. 《杜月笙发迹秘史》书摘
  3. go语言逐行读取和写入文件
  4. nginx[21944]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Ad...se)
  5. iframe 标签(用于嵌套网页)及loading加载动画效果
  6. 真真是硬件界饕餮盛宴!京东助力英特尔第九代酷睿处理器中国首发!
  7. iOS开发之Objective-C(面试篇)-李飞-专题视频课程
  8. VC和PE的区别是什么?
  9. Android 渠道打包优化方案
  10. YOLOv3物体/目标检测之实战篇(Windows系统、Python3、TensorFlow2版本)