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

    你可能感兴趣的文章
    poj2135(简单的最小费用流问题)
    查看>>
    POJ2251
    查看>>
    QT界面操作1:如何跟踪鼠标位置?
    查看>>
    QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)...
    查看>>
    Pomelo开发中Web客户端开发API简介
    查看>>
    PON架构(全光网络)
    查看>>
    PoolingHttpClientConnectionManager原理剖析
    查看>>
    POP-一个点击带有放大还原的动画效果
    查看>>
    POP3 协议在计算机网络中的优缺点
    查看>>
    Portaudio笔记-WASAPI
    查看>>
    position:fixed失效情况
    查看>>
    Position属性四个值:static、fixed、absolute和relative的区别和用法
    查看>>
    POSIX thread编程中关于临界区内条件变量的分析
    查看>>
    POSIX与程序可移植性
    查看>>
    posix多线程有感--自旋锁
    查看>>
    SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
    查看>>
    POSIX标准和XSI扩展
    查看>>
    post install error,please remove node_moules before retry
    查看>>
    PostGIS中获取所有EPSG的编码以及对应Proj4字符串
    查看>>
    PostGIS在Windows上的下载与安装
    查看>>