小明和同学们玩跳房子的游戏,现给出一排房子,请计算出小明最少需要跳几次就可戏,完成游戏时哪只脚落地?(0代表左脚,1代表右脚)

游戏规则1:地上画有n个正方形依次排开代表房子,每个房子里标有数字,数字代表最多可以跳几个房子,数字不能为0(如:数字为2,可以直接向前跳1个房子,也可以直接向前跳2个房子)。

例如:
地上画有5个正方形代表房子,房子里面的数字分别为2,1,4,2,1。
小明在第一个房子是可以选择跳到第2个房子或者第3个房子,为了所跳次数最少选择跳到第3个房子(房子数字为4);房间数字为4,可以选择跳到第4个房子或者第5个房子,为了所跳次数最少选择跳到第5个房子。故至少需要跳两次就可以完成游戏。
游戏规则2:只能单脚落地,左脚起跳右脚落地,右脚起跳左脚落地;第一次起跳为左脚
例如:
小明一共跳两次,第一次左脚起跳,右脚落地;第二次右脚起跳,左脚落地;完成游戏时左脚落地

输入描述
第一行输入n个正整数,正整数之间用英文逗号隔开

输出描述
输出两个整数,整数之间用英文逗号隔开;第一个整数表示最少跳的次数,第二个整数表示落地的脚(0代表左脚,1代表右脚)

这道题原题来自>悦儿姐的博文
我感觉她的算法还不够完美,不能得到正确答案,所以进行了一些小修改

思路
原博文谈到,左右脚的落地可以通过计数器的奇偶性来判断,这也很大程度给了我启发!
我的算法采用倒推的方式:
例如:
2 9 1 1 1 1 1 1 1 1 => 1 1 1 1 1 1 1 1 9 2
i = 0,找到能够走到 i 处的最远的那个格子,也就是 9 ,然后再循环这个操作,直到走完。
例如:
4 4 6 1 5 1 5 6 1 2 7 8 1 2 6 11 5 => 5 11 6 2 1 8 7 2 1 6 5 1 5 1 6 4 4
i = 0,找到能够走到 i 处的最远的那个格子,也就是 7 ,再循环操作,接下来就是 5 ,然后是 6 ,最后就是第一格4。
这道题的数字其实不是越大越好,而是越巧越好,一样可以走到 i 的,走的格子越多越好!

lists = list(map(int, input().strip().split(',')))[::-1]   # 接收,顺便翻转
i = 0
count = 0
guochen = []     # 方便查看跳房子的过程
while i != len(lists) - 1:y = ifor j in range(i + 1, len(lists)):if lists[j] >= j - i:y = jcount += 1i = yguochen.append(lists[i])
# print(guochen[::-1])  # 查看过程
print(count, 0 if count % 2 == 0 else 1)

蓝桥杯每日一练——小明跳房子 python相关推荐

  1. Java 第十一届 蓝桥杯 省模拟赛 小明的城堡

    小明用积木搭了一个城堡. 为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个 n 行 m 列的方格图上,每个积木正好占据方格图的一个小方格. 当然,小明的城堡并不是平面的,而是立体的.小明 ...

  2. 【蓝桥杯05】:小明每天都要练功,练功中的重要—项是梅花桩。小明练功的梅花桩排列成n行m列,相邻两行的距离为1,相邻两列的距离也为;小明想知道,在不掉下梅花桩的情况下,自己最少要多少步可以移动到目标。

    问题描述: 小明每天都要练功,练功中的重要一项是梅花桩.         小明练功的梅花桩排列成n行m列,相邻两行的距离为1,相邻两列的距离也为1.         小明站在第1行第1列上,他要走到第 ...

  3. 蓝桥杯每日一练专栏导读

    蓝桥杯备战 适宜人群 收费模式 订阅者福利 题目目录 适宜人群 本付费专栏主要为备战蓝桥杯的人士准备,练习题目由简入深,从最一开始的基础题目起手,逐渐进入到算法训练,再是算法提高,最后还有历届试题.助 ...

  4. 【蓝桥杯每日一练】—字符逆序

    文章目录 一.题目 二.例子 三.解析 四.C语言代码 五.python代码 视频讲解 一.题目 将一个字符串str的内容颠倒过来,并输出.str的长度不超过100个字符. 输入: 输入包括一行. 第 ...

  5. Java 第十一届 蓝桥杯 省模拟赛 小明植树(DFS)

    小明植树 题目 问题描述 小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗. 小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n ...

  6. 【蓝桥杯每日一练:小z的序列游戏-k】

    问题描述 众所周知,小z对序列游戏特别感兴趣 现在他又提出了一个新的序列游戏 给你n个数的数组a 问有多少对(i,j)  满足(a[i] + a[j]) % k = 0 并且 [1 <= i & ...

  7. 【蓝桥杯每日一练:小Z的序列游戏-version1】

    问题描述 小Z最近对序列十分着迷 他提出了个问题 给你n个数的数组a 你可以进行以下操作任意次 操作1 : 选择a[i] [1 <= i <= n] , a[i] += 2  操作2 :  ...

  8. 【蓝桥杯每日一练】 汉诺塔

    目录 1.说明 2.解法 3.python实现 python全局变量使用方式: python全局变量和局部变量的区别: 1.说明 河内之塔(Towers of Hanoi)是法国人M.Claus(Lu ...

  9. 【蓝桥杯每日一练】 斐波那契数列

    目录 1.说明 2.原理 3.python实现 第一种: 第二种: 第三种 第四种 1.说明 Fibonacci为1200年代的欧洲数学家,在他的着作中曾经提到:「若有一只免子每个月生一只小免子,一个 ...

  10. 【蓝桥杯每日一练:木头加工】

    问题描述 百年以后,智能机器人在各个行业大显身手,小F的运输队里就有一个. 这天,她的任务是要把N根木头运回家,运前要切割.等智能机器人切完木材,小F一看结果,发现机器人切后的所有小段木材长度相同,而 ...

最新文章

  1. Apache优化配置——工作模式
  2. 一本关于 女仆小说的构思,有能力写的看下
  3. Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
  4. weka arff稀疏数据写法
  5. Scott Mitchell 的ASP.NET 2.0数据教程之三十八:: 处理BLL和DAL的异常
  6. sqlsever2008数据库的备份与还原
  7. (数据库系统概论|王珊)第一章绪论-第二节:数据模型
  8. 移动端设备常用尺寸笔记
  9. SaaS 公司如何应对 On-Call 挑战?
  10. beta分布_常用概率分布总结(2)
  11. javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...
  12. Java计算卡方值和P值
  13. python 答题卡识别_opencv+python机读卡识别整合版
  14. vue中的几个动效网站
  15. python检测键盘输入termios、等待按键超时检测
  16. Python 用于电路课程
  17. iis配置跨域请求头
  18. acwing----春季每日一题2022篇(二)
  19. P6软件应用的核心收益
  20. vue仿今日头条_Vue实战篇(Vue仿今日头条)

热门文章

  1. Fishermen(2018 ICPC SouthEastern European)
  2. 人工智能方向本科生如何查看论文?
  3. 下行控制信息 - 下行DCI
  4. 只能上QQ,不能打开网页的解决办法
  5. 注意啦!使用“流量卡”别图便宜,小心被监控!
  6. Rust FFI 编程 - FFI 概述
  7. 接口测试-什么是header头部?
  8. 文献找不到有什么好办法,运用谷粉学术和sci-hub下载各种文献
  9. 怎样清理苹果电脑磁盘空间_Mac空间不足怎么办,快速清理Mac系统垃圾与磁盘|Crucial(英睿达)...
  10. html编写网页超链接的标记,HTML网页超链接标记