PAT 乙级练习 题解合集

本题链接

题目

小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。

输入格式:
输入第一行给出三个正整数 M(≤ 1000)、N 和 S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从 1 开始)。随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符、不包含空格回车的非空字符串)。

注意:可能有人转发多次,但不能中奖多次。所以如果处于当前中奖位置的网友已经中过奖,则跳过他顺次取下一位。

输出格式:
按照输入的顺序输出中奖名单,每个昵称占一行。如果没有人中奖,则输出 Keep going…。

输入样例 1:

9 3 2
Imgonnawin!
PickMe
PickMeMeMeee
LookHere
Imgonnawin!
TryAgainAgain
TryAgainAgain
Imgonnawin!
TryAgainAgain

输出样例 1:

PickMe
Imgonnawin!
TryAgainAgain

输入样例 2:

2 3 5
Imgonnawin!
PickMe

输出样例 2:

Keep going...

思路

注意 “跳过他顺次取下一位” 的意思是往下一直找,直到找到一个还没中过奖的用户为止。然后再从中了奖的用户往下数N次,找下一个中奖用户。

代码

#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main() {int m, n, s;string input;bool flag = false;set<string> lucky;cin >> m >> n >> s;vector<string> guys(m);for (int i = 0; i < m; ++i)cin >> guys[i];for (int i = s - 1; i < m; i += n) {while (lucky.count(guys[i])) {++i;if (i == m)break;}lucky.insert(guys[i]);cout << guys[i] << endl;flag = true;}if (!flag)cout << "Keep going..." << endl; return 0;
}

PAT 乙级练习 1069 微博转发抽奖相关推荐

  1. 【PAT乙级】1069 微博转发抽奖 (20 分)

    题目地址 #include<cstdio> #include<iostream> #include<string> #include<map> #inc ...

  2. PAT Basic Level 1069 微博转发抽奖 解题思路及AC代码 v1.0

    PAT 乙级 1069 微博转发抽奖 1. 题目简述及在线测试位置 2. 基本思路 3. 完整AC代码 1. 题目简述及在线测试位置 1.1 给定N个字符串.字符串打印间隔 和 需要打印的第一个字符串 ...

  3. 【PAT乙】1069 微博转发抽奖 (20分) set

    1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...

  4. PAT 乙级 1069 微博转发抽奖 (20 分)

    题目:PAT 乙级 1069 微博转发抽奖 (20 分) 经验总结: 可以建立一个set,用于存放中奖用户.若set中有此用户,代表此用户已中奖,奖品顺延. C++代码: #include<bi ...

  5. PAT 乙级 1069  微博转发抽奖

    1069 微博转发抽奖 (20 point(s)) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格 ...

  6. PAT 1069. 微博转发抽奖(20)

    1069. 微博转发抽奖(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小明PAT考了满分,高兴之余决定 ...

  7. PAT 乙 1069 微博转发抽奖

    1069 微博转发抽奖 (20 分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一 ...

  8. 1069. 微博转发抽奖(20)

    1069. 微博转发抽奖(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小明PAT考了满分,高兴之余决定 ...

  9. 1069 微博转发抽奖——c++实现

    题目 1069 微博转发抽奖 (20 point(s)) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. ...

最新文章

  1. iphone开蓝牙wifi上网慢_桌面运维:WiFi信号强,网速却很慢?这样操作就能搞定!...
  2. yum 代理_教你如何在5分钟轻松部署nginx反向代理
  3. 随机算法python_梅森算法生成随机数的Python实现
  4. 【PP操作手册】工艺路线相关操作
  5. boost::python模块实现使用内置 python 数据类型创建 ndarrays 的示例,并提取成员变量的类型和值测试程序
  6. rs.getDate 返回类型问题
  7. emqx http not found 怎么回事_幽默笑话:行倒是行,但两个大男人这么说话算怎么回事...
  8. 用 rust 写算法
  9. Oracle 计算时间差
  10. js需要删除页面中某个元素
  11. php转html为pdf后部分图片无法显示
  12. java中获取农历日期以及星期几
  13. 基于IP搭建SAN存储
  14. LeetCode(89)GrayCode
  15. 上海滩玩起了黑科技,苏宁Biu店带你刷脸扫货
  16. 软件管理----项目质量管理
  17. 第三章 ---- 了解各种 Linux 文本编辑器
  18. 全国程序员薪酬大曝光!看完我酸了,33% 程序员月薪达到.....
  19. 支付宝支付回调,回调日志记录
  20. 三大运营商手机号码正则匹配(联通,电信,移动)

热门文章

  1. 喜讯:中国两项世界顶级发明获中美专利--人脑智能技术和不可破加密技术
  2. Mac之如何查看已用端口
  3. ERROR 1130 (HY000): Host 'xxx.xxx.xx.xx' is not allowed to connect to this MySQL(MariaDB) server
  4. hd disk / HDD / SSD / USB / FireWire(1394) / eSATA / SATA / mSATA / NGFF
  5. 上海大学生计算机应用能力大赛答辩,2018年(第十届)上海市大学生计算机应用能力大赛成功举行...
  6. 冯杰的手写艺术签名怎么写好看
  7. 在python中一个复数的虚部用i表示_以3为实部4为虚部,Python复数的表达形式为___________或________。_学小易找答案...
  8. 从游戏智能到疾病诊断,腾讯「绝悟」AI 从虚拟走向现实
  9. 【电力系统】——交流潮流、直流潮流
  10. 电脑花屏死机怎么办?