博客
关于我
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/

    你可能感兴趣的文章
    Objective-C实现返回一个包含所有节点邻居的数组算法(附完整源码)
    查看>>
    Objective-C实现返回数字的二进制表示中使用的位数bitLength算法(附完整源码)
    查看>>
    Objective-C实现进度条(附完整源码)
    查看>>
    Objective-C实现通讯录管理系统(附完整源码)
    查看>>
    Objective-C实现通过临界区实现线程同步(附完整源码)
    查看>>
    Objective-C实现通过年月日得到改日为该年的第几天(附完整源码)
    查看>>
    Objective-C实现通过注册表生成注册程序( 附完整源码)
    查看>>
    Objective-C实现遍历FTP文件目录( 附完整源码)
    查看>>
    Objective-C实现遗传算法(附完整源码)
    查看>>
    Objective-C实现遗传算法(附完整源码)
    查看>>
    Objective-C实现遗传算法(附完整源码)
    查看>>
    Objective-C实现邻接表(附完整源码)
    查看>>
    Objective-C实现醉汉随机行走问题(附完整源码)
    查看>>
    Objective-C实现醉汉随机行走问题(附完整源码)
    查看>>
    Objective-C实现醉汉随机行走问题(附完整源码)
    查看>>
    Objective-C实现重载[ ](附完整源码)
    查看>>
    Objective-C实现重载()(附完整源码)
    查看>>
    Objective-C实现量化交易策略(附完整源码)
    查看>>
    Objective-C实现链表(附完整源码)
    查看>>
    Objective-C实现链表reverseTraversal反向遍历算法(附完整源码)
    查看>>