PAT 乙级 1069 微博转发抽奖(20) C++版
1069. 微博转发抽奖(20)
小明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...
// 1069.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
#include<vector>
#include<algorithm>
#include<string> using namespace std; bool judge(string str, const vector<string>& v);//判断该名称中奖与否,中奖返回真
void get_win_name(vector<string>& v, vector<string>& win, int M, int N, int S);//获取获奖名称并存入win中
void show_win_name(const vector<string>& win);//打印获奖名称 int main()
{
int M, N, S;
vector<string> v,win;//v存储输入的名称,win存储获奖的名称
string name; cin >> M >> N >> S;
getchar();//读取缓冲区中的回车 if (M >= S)
{
//读取并存入容器
for (int i = ; i <= M; ++i)
{
getline(cin, name); v.push_back(name);
} get_win_name(v, win, M, N, S);//获取获奖名称并存入win中 show_win_name(win);//打印获奖名称
}
else//无人获奖
cout << "Keep going..." << endl; return ;
} //判断该名称中奖与否,中奖返回真
bool judge(string str,const vector<string>& v)
{
if (find(v.begin(), v.end(), str) != v.end())
return ; return ;
} //获取获奖名称并存入win中
void get_win_name(vector<string>& v,vector<string>& win,int M,int N,int S)
{
vector<string>::iterator x = v.begin(), end = v.end(); //指向起始中奖名称
for (int i = ; i < S; ++i)
++x; for (int i = S; i <= M; ++x, ++i)
{
//如果该名称之前没中奖
if (!judge(*x, win))
{
win.push_back(*x);//将名称存入中奖名单 //中奖后跳过中间的人数直达下一个中奖名称
for (int j = ; j < N && x != end; ++j)
++x, ++i;
} if (x == end)//如果一直出现的都为中过奖的,一直循环到最后,就终止
break;
}
} //打印获奖名称
void show_win_name(const vector<string>& win)
{
vector<string>::const_iterator begin1 = win.cbegin(), end1 = win.cend(); for (; begin1 != end1; ++begin1)
cout << *begin1 << endl;
}
PAT 乙级 1069 微博转发抽奖(20) C++版的更多相关文章
- PAT Basic 1069. 微博转发抽奖(20)
小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N ...
- PAT Basic 1069 微博转发抽奖 (20 分)
小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数 M(≤ 1000). ...
- PAT乙级:1069 微博转发抽奖 (20分)
PAT乙级:1069 微博转发抽奖 (20分) 题干 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入 ...
- PAT(B) 1069 微博转发抽奖(Java)
题目链接:1069 微博转发抽奖 (20 point(s)) 题目描述 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确 ...
- PAT 1069. 微博转发抽奖(20)
小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N ...
- 1069 微博转发抽奖 (20分)C语言
小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数 M(≤ 1000). ...
- PAT 1069 微博转发抽奖(20)(代码+思路+测试点4)
1069 微博转发抽奖(20 分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...
- PAT——1069. 微博转发抽奖
小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N ...
- PAT 1069 微博转发抽奖
https://pintia.cn/problem-sets/994805260223102976/problems/994805265159798784 小明 PAT 考了满分,高兴之余决定发起微博 ...
随机推荐
- guling code细节
detect_hand.py 分水岭算法: 任何一幅灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷.我们向每一个山谷中灌不同颜色的水,随着水的位的升高,不 ...
- linux php.ini文件没有指向 不生效
phpinfo下查看: 命令行下查看 :php -i | grep "Loaded Configuration File" 解决: 使用命令去追踪错误: strace /usr/ ...
- queue 的基本用法
queue 1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一个元素4.pop() 删除第一个元素5.push() 在末尾加入一个元素6 ...
- JAVA的初始化顺序:
JAVA的初始化顺序: 父类的静态成员初始化>父类的静态代码块>子类的静态成员初始化>子类的静态代码块>父类的代码块>父类的构造方法>子类的代码块>子类的构造 ...
- Python知识点整理,基础4 - 集合操作
- Redis和MySQL的结合方案
转载:http://m.blog.csdn.net/article/details?id=50586990 方案一: 程序同时写Redis和MySQL读Redis 方案二: 程序写MySQL, 使用G ...
- sqler sql 转rest api 2.0 试用
sqler 的迭代还是很快的,已经2.0 了,2.0 有好多新功能的添加,同时也有好多不兼容的修改 说明: 测试使用docker-compose,同时我已经push 了docker 镜像 dalong ...
- jupyter命令把.ipynb文件转化为.py文件
jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件
- 二分查找法(binary_search,lower_bound,upper_bound,equal_range)
binary_search(二分查找) //版本一:调用operator<进行比较 template <class ForwardIterator,class StrictWeaklyCo ...
- How tbb proxy works