博客
关于我
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 数据可视化利器
    查看>>
    Python 数据可视化详解
    查看>>
    python 数据库查询返回list或tuple
    查看>>
    Python 数据库连接池管理的基本知识 (附Demo)
    查看>>
    Python 数据库骚操作 -- MySQL
    查看>>
    Python 数据操作详解
    查看>>
    Python 数据文件与网络数据序列化存储详解
    查看>>
    Python 数据结构与算法详解
    查看>>
    Python 数据采集、清洗、整理、分析以及可视化实战
    查看>>
    Python 数据预处理
    查看>>
    python 文件类型检测 linux和windows都可以用
    查看>>
    Python多处理池,加入;不等待继续?
    查看>>
    Python 无法安装包
    查看>>
    python 日历小部件 - 返回用户选择的日期
    查看>>
    Python 日志管理封装
    查看>>
    python 时间函数小总结
    查看>>
    Python 是否优化尾递归?
    查看>>
    Python 更新set
    查看>>
    Python 最强 IDE 详细使用指南!
    查看>>
    Python 有一个不可变的列表吗?
    查看>>