1069. 微博转发抽奖(20)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

小明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++版的更多相关文章

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

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

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

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

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

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

  4. PAT(B) 1069 微博转发抽奖(Java)

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

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

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

  6. 1069 微博转发抽奖 (20分)C语言

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

  7. PAT 1069 微博转发抽奖(20)(代码+思路+测试点4)

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

  8. PAT——1069. 微博转发抽奖

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

  9. PAT 1069 微博转发抽奖

    https://pintia.cn/problem-sets/994805260223102976/problems/994805265159798784 小明 PAT 考了满分,高兴之余决定发起微博 ...

随机推荐

  1. ubuntu下配置环境

    https://blog.csdn.net/zzc15806/article/details/73662491

  2. c++输入输出流加速器

      发现同样是cin,cout,其他大佬(orz)的耗时短很多.看了他们的代码,我发现他们加了一个很神奇的匿名函数(Lambda捕获)提高了cin,cout效率,因此去百度了解了一下.以下是大佬所使用 ...

  3. 斐波那契 - pythoon实现

    def fn_1(n): if n == 0 : return n elif n == 1 : return n else: a = [0,1] for i in range(2,n): a.appe ...

  4. python django day 2

    django-admin.py startproject zqxt_viewscd zqxt_viewspython manage.py startapp calczqxt_views/urls.py ...

  5. (7)路由层的分发(不同app各自管理自己的和app的注册)

    注意事项:新建的app一定要在settings.py中注册 app的注册 在这个位置进行注册 注册有两种方式: 1.'app01.apps.App01Config'   #这个是标准的写法,官方推荐 ...

  6. Go Example--for循环

    package main import "fmt" func main() { i := 1 //Go循环只有for, 第一种循环方式 for i<=3 { fmt.Prin ...

  7. LeetCode - Daily Temperatures

    Given a list of daily temperatures, produce a list that, for each day in the input, tells you how ma ...

  8. skipper lua 脚本支持

    skipper 对于lua 脚本的支持是通过gopher-lua,支持基本上大部分的lua特性 说明:项目使用docker-compose 运行 环境准备 docker-compose 文件 vers ...

  9. 我发起了一个 .Net 开源 数据库 项目 SqlNet

    大家好 , 我发起了一个 .Net 开源 数据库 项目 SqlNet . 项目计划 是 用 C# 写一个 关系数据库 . 可以先参考我之前写的 2 篇文章 : 谈谈数据库原理    https://w ...

  10. postman测试post请求参数为json类型

    1. 设置Headers Content-Type类型为application/json 2.Body 设置如下.请求的数据类型为Json格式