心眼者 pat basic 练习六十九 微博转发抽奖
心得:
这一题很坑人,本以为它是从起始的下标开始,从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 练习六十九 微博转发抽奖相关推荐
- 黎明者 pat basic 练习八十九 狼人杀-简单版
心得: 这一题和第八十八题一样,考的是枚举 所谓枚举,就是尝试每一种可能的情况 先假设某种情况是对的,然后再查看在这种情况下,已知的条件是否是符合说明 就是对每种可能使用反证法 题目: 以下文字摘自& ...
- 诛天者 pat basic 练习六十 爱丁顿数
心得: 这个题和完美数列一样,先排序,利用数据之间的关系来比较判断 所以一定要熟记先排序后判定的手法 题目: 英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀自己的骑车功力,还定义了一个"爱丁顿 ...
- 诛天者 pat basic 练习五十九 C语言竞赛
题目: C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份"神秘大奖"(比如很巨大的一本学生研究论文集-- ...
- 狂暴者 pat basic 练习二十九 旧键盘
心得: 1.字符串每个字符是char类型 2.char类型可以认为是整数类型,和int一样,甚至97=='a'是对的,只不过char存数字的时候会有一个映射,将存的数字转换成对应的字符 3.转大小写有 ...
- JavaScript学习(六十九)—正则表达式实训题
JavaScript学习(六十九)-正则表达式实训题 复习一下所学的知识 实训练习
- 信息系统项目管理师必背核心考点(六十九)访问控制授权方案
科科过为您带来软考信息系统项目管理师核心重点考点(六十九)访问控制授权方案,内含思维导图+真题 [信息系统项目管理师核心考点]访问控制授权方案 一.自主访问控制(DAC) 1.指明用户能够访问哪些资源 ...
- 第六十九章 Caché 函数大全 $WCHAR 函数
文章目录 第六十九章 Caché 函数大全 $WCHAR 函数 大纲 参数 描述 第六十九章 Caché 函数大全 $WCHAR 函数 返回与识别代理项对的数字代码对应的字符. 大纲 $WCHAR(e ...
- 陈艾盐:《春燕》百集访谈节目第六十九集
<春燕>访谈节目共120集,每月分10集播出,记录了上百位企业家对"慈善"的各种不同见解,通过讲述社会真善美的故事,让更多的人了解慈善.发扬慈善精神,构建更加美好,和谐 ...
- 第六十九章 SQL函数 JSON_OBJECT
文章目录 第六十九章 SQL函数 JSON_OBJECT 大纲 参数 描述 选择模式和排序 ABSENT ON NULL 示例 第六十九章 SQL函数 JSON_OBJECT 将数据作为JSON对象返 ...
最新文章
- ROCK 聚类算法
- C/C++训练1---最大公约数与最小公倍数_JAVA
- 在线抠图工具:亲测有效
- Cocoa/iPhone App/静态库 嵌入资源文件 rtb v0.1发布
- 重用生成的JAXB类
- 数据科学、人工智能TED演讲TOP 10
- 28. 字符串的排列(C++版本)
- 图像处理与机器视觉网络资源收罗——倾心大放送
- 1380 D - Berserk And Fireball(思维,贪心)
- [GIS原理] 9.1 数字高程模型DEM-特征 | 分类 | 构建 | 数据结构 | 空间内插 | DEM的未来
- IT业界中的著名女性高管
- 第十五周项目一----哈希表的运算及实现
- win10解决 netstart -ano|findstr “8080“出现netstart不适内部或外部命令
- E站账号cookie分享_产品经理必懂知识点—cookie和session
- 假证假章猖狂不止 公章伪造的沉疴爱签电子印章来治愈
- 一切有迹可循!优秀程序员的9个早期迹象
- The rhetorics of sovereignty: representing Indian territory in nineteenth-century newspapers 【翻译】
- 魔兽世界服务器卡顿原理,暴雪解释《魔兽世界》怀旧服卡顿原因 这款插件你还在用吗?...
- numpy——.npy和.npz文件
- 华为云桌面Workspace,不得不爱的移动办公新体验