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

输入格式:

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

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

输出格式:

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

输入样例 1:

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

输出样例 1:

PickMe
Imgonnawin!
TryAgainAgain

输入样例 2:

2 3 5
Imgonnawin!
PickMe

输出样例 2:

Keep going...

题目分析:

到了指定位置进行判断,如果以前没出现过就将其输出,如果出现过,就向下如果下一个也出现过那就循环进行这个步骤。

坑点:如果用子字符串查找函数find的话会遇到这样一种情况

Aaaaa 先被选

经过N个间隔后...

aaa  是可以在Aaaaa中找到的,会被跳过

处理方法: 在每个字符串后面添加一个特殊的字符,这里我就选用‘@’了,这样的话就可以避免这样的情况,输出的话再把这个特殊字符删除即可;

代码:

#include<bits/stdc++.h>
using  namespace std;
int main()
{int n,k,m;int cnt=0,cnt1=0;cin>>n>>k>>m;string sum;while(n--){cnt++;cnt1++;string a;cin>>a;int t=a.length();a.insert(t-1,"@");if(cnt1==m){sum+=a;a.erase(t-1,1);cout<<a<<endl;}if(cnt==m+k){while(sum.find(a)!=string::npos&&n){n--;cin>>a;t=a.length();a.insert(t-1,"@");cnt1++;}if(n+1){sum+=a;a.erase(t-1,1);cout<<a<<endl;cnt=m;}}}if(cnt1<m)cout<<"Keep going..."<<endl;
}

PTA 1069 微博转发抽奖(20points)相关推荐

  1. PTA 1069 微博转发抽奖(Python3)

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

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

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

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

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

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

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

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

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

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

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

  7. 1069 微博转发抽奖 (20分)

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

  8. python 1069 微博转发抽奖

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

  9. 1069. 微博转发抽奖

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

最新文章

  1. 分布式架构基础:Java RMI详解
  2. 模拟 CSU 1562 Fun House
  3. 61条面向对象设计的经验原则
  4. mysql5.5.8编译安装_MySQL5.5.8源代码编译安装
  5. 笔记本电脑怎么清理灰尘_手机声音越用越小怎么办?一段黑科技音波就能清理扬声器灰尘...
  6. 别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
  7. 【ElasticSearch】Es 源码之 ClusterService 源码解读
  8. Fuchsia之GN与Ninja构建hello world
  9. Dagger2 知识梳理(3) 使用 dependencies 和 @SubComponent 完成依赖注入
  10. 利用workbench建立的响应面模型质量很差,该如何解决?求指点
  11. 沙迪克UTY编程基础操作流程
  12. 故障诊断仪采集发动机EMS故障的报文与故障码记录
  13. 信息收集--wmic命令
  14. 大屏制作 | 完成一个美观大屏到底多简单?四步完成
  15. OGG FOR BIGDATA 安装(修正)
  16. Elasticsearch7.×集群搭建,生命周期策略ilm_policy、索引模板template管理(二)
  17. 论文阅读-WARP: Word-level Adversarial ReProgramming
  18. 青年之锋——文学之家
  19. 目录:名企笔试 + 算法题
  20. 阿里云大数据认证——使用DataV制作实时销售数据可视化大屏-课堂笔记

热门文章

  1. 遇到V-Ray for 3ds Max中的这3个错误如何解决
  2. 二维伪随机序列结构光编码
  3. 游戏王计算机兽,游戏王电脑堺卡o组,自己组的来分享给大家一下构筑思路
  4. 牛客错题、好题研究整理
  5. 突发:Kraken同意关停质押服务并向SEC支付3000万美元和解金
  6. Promise原理详解及实现方式
  7. 贪心算法求解一个序列中出现次数最多的元素问题
  8. nodecu8266 lua应用(三)----模块基础
  9. 报道丨读书会回顾——知识产权是如何运行的
  10. TCP 三次握爪 四次挥手