心得:

这一题很坑人,本以为它是从起始的下标开始,从N个人就中奖,如果这些人当中有中过奖的,就想下找

但实际上是每发现一个人中奖,就向下数N个人,如果这个人中过奖了,就向下找直到找到没中过奖的,然后再从他开始向下数

所以说是“得奖决定位置”,而不是“位置决定得奖”,这一题作为警示要记住,以后遇到类似的看看是谁决定谁

题目:

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

输入格式:

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

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

输出格式:

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

思路:

把用户名用vector存起来,map容器作为检查某用户是否已经中过奖

代码:

#include<iostream>
#include<vector>
#include<map>
using namespace std;
int main()
{int num,interval,start,_count=1;//_count作为计数器,看有没有满足间隔数vector<string> v;vector<string> res;map<string,bool> geted;bool no_find=false;string temp;cin>>num>>interval>>start;for(int i=0;i<num;i++){cin>>temp;geted[temp]=false;v.push_back(temp);}if(start<=v.size())//先判断有没有越界{res.push_back(v.at(start-1));//直接把起始的名存进去geted[v.at(start-1)]=true;}for(int i=start;i<v.size();i++)//从起始点的下一个开始遍历{if(_count==interval)//如果count满足了间隔数{if(!geted[v.at(i)])//看看这个名有没有中过奖{res.push_back(v.at(i));geted[v.at(i)]=true;_count=1;}//这个名中过奖了,由于count的值不变,还是能满足间隔数,所以就能一直对下面的数进行判断}else//没满足间隔数就继续数_count++;}if(res.size()==0)cout<<"Keep going..."<<endl;else{for(int i=0;i<res.size();i++)cout<<res.at(i)<<endl;}return 0;
}

心眼者 pat basic 练习六十九 微博转发抽奖相关推荐

  1. 黎明者 pat basic 练习八十九 狼人杀-简单版

    心得: 这一题和第八十八题一样,考的是枚举 所谓枚举,就是尝试每一种可能的情况 先假设某种情况是对的,然后再查看在这种情况下,已知的条件是否是符合说明 就是对每种可能使用反证法 题目: 以下文字摘自& ...

  2. 诛天者 pat basic 练习六十 爱丁顿数

    心得: 这个题和完美数列一样,先排序,利用数据之间的关系来比较判断 所以一定要熟记先排序后判定的手法 题目: 英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀自己的骑车功力,还定义了一个"爱丁顿 ...

  3. 诛天者 pat basic 练习五十九 C语言竞赛

    题目: C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份"神秘大奖"(比如很巨大的一本学生研究论文集-- ...

  4. 狂暴者 pat basic 练习二十九 旧键盘

    心得: 1.字符串每个字符是char类型 2.char类型可以认为是整数类型,和int一样,甚至97=='a'是对的,只不过char存数字的时候会有一个映射,将存的数字转换成对应的字符 3.转大小写有 ...

  5. JavaScript学习(六十九)—正则表达式实训题

    JavaScript学习(六十九)-正则表达式实训题 复习一下所学的知识 实训练习

  6. 信息系统项目管理师必背核心考点(六十九)访问控制授权方案

    科科过为您带来软考信息系统项目管理师核心重点考点(六十九)访问控制授权方案,内含思维导图+真题 [信息系统项目管理师核心考点]访问控制授权方案 一.自主访问控制(DAC) 1.指明用户能够访问哪些资源 ...

  7. 第六十九章 Caché 函数大全 $WCHAR 函数

    文章目录 第六十九章 Caché 函数大全 $WCHAR 函数 大纲 参数 描述 第六十九章 Caché 函数大全 $WCHAR 函数 返回与识别代理项对的数字代码对应的字符. 大纲 $WCHAR(e ...

  8. 陈艾盐:《春燕》百集访谈节目第六十九集

    <春燕>访谈节目共120集,每月分10集播出,记录了上百位企业家对"慈善"的各种不同见解,通过讲述社会真善美的故事,让更多的人了解慈善.发扬慈善精神,构建更加美好,和谐 ...

  9. 第六十九章 SQL函数 JSON_OBJECT

    文章目录 第六十九章 SQL函数 JSON_OBJECT 大纲 参数 描述 选择模式和排序 ABSENT ON NULL 示例 第六十九章 SQL函数 JSON_OBJECT 将数据作为JSON对象返 ...

最新文章

  1. ROCK 聚类算法‏
  2. C/C++训练1---最大公约数与最小公倍数_JAVA
  3. 在线抠图工具:亲测有效
  4. Cocoa/iPhone App/静态库 嵌入资源文件 rtb v0.1发布
  5. 重用生成的JAXB类
  6. 数据科学、人工智能TED演讲TOP 10
  7. 28. 字符串的排列(C++版本)
  8. 图像处理与机器视觉网络资源收罗——倾心大放送
  9. 1380 D - Berserk And Fireball(思维,贪心)
  10. [GIS原理] 9.1 数字高程模型DEM-特征 | 分类 | 构建 | 数据结构 | 空间内插 | DEM的未来
  11. IT业界中的著名女性高管
  12. 第十五周项目一----哈希表的运算及实现
  13. win10解决 netstart -ano|findstr “8080“出现netstart不适内部或外部命令
  14. E站账号cookie分享_产品经理必懂知识点—cookie和session
  15. 假证假章猖狂不止 公章伪造的沉疴爱签电子印章来治愈
  16. 一切有迹可循!优秀程序员的9个早期迹象
  17. The rhetorics of sovereignty: representing Indian territory in nineteenth-century newspapers 【翻译】
  18. 魔兽世界服务器卡顿原理,暴雪解释《魔兽世界》怀旧服卡顿原因 这款插件你还在用吗?...
  19. numpy——.npy和.npz文件
  20. 华为云桌面Workspace,不得不爱的移动办公新体验

热门文章

  1. 2021全球零食现状报告|如何成为消费者喜爱的零食品牌?
  2. 栈溢出漏洞CVE-2020-8423复现
  3. Nervos 与 Cardano 跨链桥的最新进展
  4. 击鼓传花java_Java版击鼓传花
  5. 爬取今日头条上的图片
  6. 胡新宇之逝:论坛网友回复其女友之感言(转贴)
  7. rsa私钥和公钥_如何创建RSA公钥和私钥?
  8. 《操作系统》知识点整理(十二)——文件与磁盘空间管理
  9. 背单词学英语20年经验总结
  10. 【枚举】CF809A