PTA 1069 微博转发抽奖(20points)
小明 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...
题目分析:
到了指定位置进行判断,如果以前没出现过就将其输出,如果出现过,就向下如果下一个也出现过那就循环进行这个步骤。
坑点:如果用子字符串查找函数find的话会遇到这样一种情况
Aaaaa 先被选
经过N个间隔后...
aaa 是可以在Aaaaa中找到的,会被跳过
处理方法: 在每个字符串后面添加一个特殊的字符,这里我就选用‘@’了,这样的话就可以避免这样的情况,输出的话再把这个特殊字符删除即可;
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{int n,k,m;int cnt=0,cnt1=0;cin>>n>>k>>m;string sum;while(n--){cnt++;cnt1++;string a;cin>>a;int t=a.length();a.insert(t-1,"@");if(cnt1==m){sum+=a;a.erase(t-1,1);cout<<a<<endl;}if(cnt==m+k){while(sum.find(a)!=string::npos&&n){n--;cin>>a;t=a.length();a.insert(t-1,"@");cnt1++;}if(n+1){sum+=a;a.erase(t-1,1);cout<<a<<endl;cnt=m;}}}if(cnt1<m)cout<<"Keep going..."<<endl;
}
PTA 1069 微博转发抽奖(20points)相关推荐
- PTA 1069 微博转发抽奖(Python3)
小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数 M(≤ 1000). ...
- 1069. 微博转发抽奖(20)
1069. 微博转发抽奖(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小明PAT考了满分,高兴之余决定 ...
- 【PAT乙】1069 微博转发抽奖 (20分) set
1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...
- PAT Basic Level 1069 微博转发抽奖 解题思路及AC代码 v1.0
PAT 乙级 1069 微博转发抽奖 1. 题目简述及在线测试位置 2. 基本思路 3. 完整AC代码 1. 题目简述及在线测试位置 1.1 给定N个字符串.字符串打印间隔 和 需要打印的第一个字符串 ...
- 1069 微博转发抽奖——c++实现
题目 1069 微博转发抽奖 (20 point(s)) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. ...
- PAT 1069. 微博转发抽奖(20)
1069. 微博转发抽奖(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小明PAT考了满分,高兴之余决定 ...
- 1069 微博转发抽奖 (20分)
1069 微博转发抽奖 (20分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行 ...
- python 1069 微博转发抽奖
1069 微博转发抽奖 (20 分) 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一 ...
- 1069. 微博转发抽奖
1069. 微博转发抽奖(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小明PAT考了满分,高兴之余决定 ...
最新文章
- 分布式架构基础:Java RMI详解
- 模拟 CSU 1562 Fun House
- 61条面向对象设计的经验原则
- mysql5.5.8编译安装_MySQL5.5.8源代码编译安装
- 笔记本电脑怎么清理灰尘_手机声音越用越小怎么办?一段黑科技音波就能清理扬声器灰尘...
- 别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
- 【ElasticSearch】Es 源码之 ClusterService 源码解读
- Fuchsia之GN与Ninja构建hello world
- Dagger2 知识梳理(3) 使用 dependencies 和 @SubComponent 完成依赖注入
- 利用workbench建立的响应面模型质量很差,该如何解决?求指点
- 沙迪克UTY编程基础操作流程
- 故障诊断仪采集发动机EMS故障的报文与故障码记录
- 信息收集--wmic命令
- 大屏制作 | 完成一个美观大屏到底多简单?四步完成
- OGG FOR BIGDATA 安装(修正)
- Elasticsearch7.×集群搭建,生命周期策略ilm_policy、索引模板template管理(二)
- 论文阅读-WARP: Word-level Adversarial ReProgramming
- 青年之锋——文学之家
- 目录:名企笔试 + 算法题
- 阿里云大数据认证——使用DataV制作实时销售数据可视化大屏-课堂笔记