博客
关于我
C++/Python PAT乙级1069 微博转发抽奖 (20分)
阅读量:633 次
发布时间:2019-03-14

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

为了解决这个问题,我们需要编写一个程序来帮助小明确定微博转发抽奖活动的中奖名单。程序需要从转发的网友中按固定间隔选出中奖者,并确保每个网友只能中奖一次。

方法思路

  • 读取输入数据:首先读取转发总量M、中奖间隔N以及第一位中奖者的序号S。
  • 存储转发名单:将转发的网友昵称存储在一个列表中。
  • 跟踪中奖者:使用一个集合来记录已经中奖的网友,避免重复中奖。
  • 确定中奖名单:从指定的序号开始,每隔N个位置检查一个网友是否已经中奖。如果没有中奖过,则将其标记为中奖者并加入结果列表。
  • 输出结果:根据结果列表输出中奖名单。如果没有中奖者,则输出“Keep going...”。
  • 解决代码

    m, n, s = map(int, input().split())names = [input().strip() for _ in range(m)]result = []used = set()i = s - 1  # 转换为0索引while i < m:    current = names[i]    if current not in used:        used.add(current)        result.append(current)    i += nif result:    for name in result:        print(name)else:    print("Keep going...")

    代码解释

  • 读取输入:使用input().split()读取M、N和S的值,然后读取接下来的M行昵称。
  • 初始化变量result列表用于存储中奖名单,used集合用于记录已中奖的网友。
  • 遍历名单:从序号S开始(转换为0索引),每隔N个位置检查一个网友。如果该网友未中奖,则标记并加入结果。
  • 输出结果:如果有中奖名单,逐行输出;否则输出“Keep going...”。
  • 这个方法确保我们正确地从指定位置开始,每隔固定间隔选出中奖者,并避免重复中奖,满足题目的所有要求。

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

    你可能感兴趣的文章
    npm淘宝镜像过期npm ERR! request to https://registry.npm.taobao.org/vuex failed, reason: certificate has ex
    查看>>
    npm版本过高问题
    查看>>
    npm的“--force“和“--legacy-peer-deps“参数
    查看>>
    npm的安装和更新---npm工作笔记002
    查看>>
    npm的常用操作---npm工作笔记003
    查看>>
    npm的常用配置项---npm工作笔记004
    查看>>
    npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
    查看>>
    npm编译报错You may need an additional loader to handle the result of these loaders
    查看>>
    npm设置淘宝镜像、升级等
    查看>>
    npm设置源地址,npm官方地址
    查看>>
    npm设置镜像如淘宝:http://npm.taobao.org/
    查看>>
    npm配置安装最新淘宝镜像,旧镜像会errror
    查看>>
    NPM酷库052:sax,按流解析XML
    查看>>
    npm错误 gyp错误 vs版本不对 msvs_version不兼容
    查看>>
    npm错误Error: Cannot find module ‘postcss-loader‘
    查看>>
    npm,yarn,cnpm 的区别
    查看>>
    NPOI
    查看>>
    NPOI之Excel——合并单元格、设置样式、输入公式
    查看>>
    NPOI初级教程
    查看>>
    NPOI利用多任务模式分批写入多个Excel
    查看>>