小明 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...

鸣谢用户 谢成星 补充数据!

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

解题思路: 从给定的号码开始按照间隔依次决定中奖者,分两种情况

①若他第一次中奖则符合要求;

②若他已经中过奖则需要将号码后延一位继续判断;

#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int main()
{                                                               int m,n,s;cin>>m>>n>>s;getchar();string str[100000];  //所有转发的人的IDfor(int i=1;i<=m;i++){getline(cin,str[i]);}string result[100000]; //符合要求的中奖者IDint k =0,i,j;for(i=s;i<=m;i=i+n){for(j=0;j<k;j++){if(result[j]==str[i]) //如果这个人已经中过奖,则号码顺延至后一位{i=i-n+1;break;}}if(j==k)  /j==k说明这个人还未中过奖,则是符合要求的中奖者result[k++] = str[i]; }if(k==0)cout<<"Keep going...";else{for(int i=0;i<k;i++)cout<<result[i]<<endl;}
}

PAT——1069 微博转发抽奖相关推荐

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

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

  2. PAT 1069. 微博转发抽奖(20)-乙级

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

  3. PAT 1069微博转发抽奖的代码实现及错误分析(C语言)

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

  4. PAT 1069.微博转发抽奖

    别人博客学习到思路 里面用到STL里面的Map 是一对一的映射关系,一串字符串可以作为内容去对应 #include<stdio.h> #include<vector> #inc ...

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

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

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

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

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

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

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

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

  9. PAT 乙 1069 微博转发抽奖

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

最新文章

  1. 专升本考试计算机知识小抄,大学考试让带“小抄”,学生却说不如闭卷…原因亮了!...
  2. linux 图形用户界面 x window system 简介
  3. 润乾实现简单自定义动态列报表
  4. python tcp协议加代理_python实现简单的TCP代理服务器
  5. 修改C盘里windows\system32\etc里面的hosts文件并保存
  6. 分数转小数C语言,这是把小数转换成分数的程序,可是输入0.6666无限循环
  7. [Leedcode][JAVA][第460题][LFU]
  8. 《小学生C++趣味编程》第42课 最小公倍数
  9. 面向对象设计时需要“六化”设计人员
  10. 客户信息管理系统(java)
  11. 六类网线钳能压五类水晶头吗_多功能网线钳的使用方法?“普通网线钳”能压“七类水晶头”吗?...
  12. ecshop分销说明
  13. Linux man --显示在线手册页
  14. 【Encoder-Decoder】
  15. 短信系统实现原理(基于redis)
  16. 【Matlab】ASCII图片生成、迷宫生成和词云图生成
  17. 割平面算法求解整数规划
  18. Tensorflow中的各种梯度处理gradient
  19. 手机短信验证码开发流程
  20. Protobuf-net ProtoGen的使用

热门文章

  1. 为什么你的服务器被列入垃圾邮件?
  2. 英伟达4070Ti 6499元起/ 微软要推出ChatGPT版Bing/ 苹果头显被曝售价3000美元... 今日更多新鲜事在此...
  3. C语言 rand函数生成随机数
  4. opencv提取图像中的颜色直方图(RGB、HSV)
  5. Vue3 + Ts的记住密码实现
  6. 魅族mx4刷linux,魅族MX4(Ubuntu版 双4G)怎么刷机,图文教程详解
  7. 【转】OpenGL入门学习[十五]
  8. c语言sleep定时0.1,求助C语言Sleep延迟输入问题
  9. 解决ubuntu20.04 连接xshell显示ssh拒绝服务
  10. RabbitMQ交换机