博客
关于我
CCF 201803-1 跳一跳 满分代码
阅读量:312 次
发布时间:2019-03-03

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

为了解决这个问题,我们需要根据给定的规则计算“跳一跳”游戏的得分。玩家每次跳跃可能有三种结果:跳到方块上但没有跳到中心(得1分)、跳到方块中心(得分根据上一次的得分情况增加),或者没跳到方块上(游戏结束)。

方法思路

我们将遍历每次跳跃的结果,并根据规则计算得分。具体步骤如下:

  • 初始化得分 s 和上一次跳到中心的得分 prev_score。
  • 遍历每个跳跃结果:
    • 如果跳跃结果为0,游戏结束。
    • 如果跳跃结果为1,得1分,并重置 prev_score 为0。
    • 如果跳跃结果为2,根据 prev_score 来决定当前得分。如果上一次也是跳到中心,则得分增加2分;否则,得分为2分。
  • 解决代码

    def calculate_score():    import sys    numbers = list(map(int, sys.stdin.read().split()))    s = 0    prev_score = 0    for x in numbers:        if x == 0:            break        if x == 1:            s += 1            prev_score = 0        elif x == 2:            if prev_score > 0:                add = prev_score + 2            else:                add = 2            s += add            prev_score = add    return scalculate_score()

    代码解释

    • numbers 是从标准输入读取并转换为整数列表。
    • s 用于累计总得分。
    • prev_score 记录上一次跳到中心的得分。
    • 遍历每个跳跃结果:
      • 如果结果为0,结束循环。
      • 如果结果为1,得1分,重置 prev_score。
      • 如果结果为2,根据 prev_score 计算当前得分,并更新 prev_score。

    这种方法确保了我们正确地根据游戏规则计算得分,并且在处理每个跳跃结果时都考虑了上一次的得分情况。

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

    你可能感兴趣的文章
    python基础篇(10):类、对象与构造方法
    查看>>
    python系列【仅供参考】:python斗地主
    查看>>
    Python基础教程(第2版 修订版) pdf
    查看>>
    python基础实践(四)
    查看>>
    Python基础学习笔记(九)常用数据类型转换函数
    查看>>
    Python基础学习参考(五):字符串和编码
    查看>>
    Python基础学习
    查看>>
    python基础变量之---集合
    查看>>
    python基础变量之---字典
    查看>>
    python基础变量之---列表
    查看>>
    python基础变量之---元组
    查看>>
    python基础内容_Python基础入门必须了解的
    查看>>
    Python基础之面向对象2(封装)
    查看>>
    Python基础之给函数增加元信息
    查看>>
    python基础之字符编码
    查看>>
    python基础之多线程与多进程(二)
    查看>>
    Python基础——MySQL数据库基本操作
    查看>>
    Python基础_列表 list
    查看>>
    python基础---->常用模块
    查看>>
    Python基础(2):控制结构
    查看>>