PAT 乙级 1069 微博转发抽奖

  • 1. 题目简述及在线测试位置
  • 2. 基本思路
  • 3. 完整AC代码

1. 题目简述及在线测试位置

1.1 给定N个字符串、字符串打印间隔 和 需要打印的第一个字符串编号F 。若F>N,输出"Keep going…" ;若当前字符串已经打印,则顺延
1.2 在线测试位置: PAT 1069 微博转发抽奖

2. 基本思路

2.1 本题的难点:如何识别出字符串已经打印。我的方法是使用STL map 。map是STL的一个关联容器(容器负责数据的存储),它提供一对一的数据处理能力:第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可以称为该关键字的值。
2.2 map 的关键字用于存储字符串,对应的值用于标示字符串是否已打印

map<string, bool> Judge; //Judge中的string不能重复
.....
Judge[Str] = 0; //初始值为0 代表未打印;打印后,则赋值为1

3. 完整AC代码

#include <map> //map
#include <iostream>
using namespace std;#define MAX 1001int main()
{int Number, Step, First; //字符串的数量  字符串打印间隔  待打印的首个字符串编号cin >> Number >> Step >> First;string Name, a[MAX];map<string, bool> Judge; //Judge中的string不能重复for (int i = 1; i <= Number; i++) //输入的字符串从1开始编号、输入的字符串可能重复{cin >> Name;a[i] = Name;Judge[Name] = 0;//默认值为0 代表未显示}if (First > Number)cout << "Keep going...";else{cout << a[First] << endl;Judge[a[First]] = 1; //字符串已打印First += Step;while (First <= Number ){if (Judge[a[First]] == 0) //未打印{cout << a[First] << endl;Judge[a[First]] = 1;First += Step;}elseFirst++; //字符串已打印,执行顺延}}return 0;
}

PAT Basic Level 1069 微博转发抽奖 解题思路及AC代码 v1.0相关推荐

  1. 【PAT乙】1069 微博转发抽奖 (20分) set

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

  2. 1069 微博转发抽奖 (20 分)(算法分析+代码实现)

    1069 微博转发抽奖 (20 分) 题目链接 算法分析 用flag记录是否输出过获奖人名字 用map类型take记录某人是否拿走过奖品 用cnt记录间隔人数 然后按要求输出就好. 代码实现 #inc ...

  3. PAT 乙级练习 1069 微博转发抽奖

    PAT 乙级练习 题解合集 本题链接 题目 小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输 ...

  4. 【PAT乙级】1069 微博转发抽奖 (20 分)

    题目地址 #include<cstdio> #include<iostream> #include<string> #include<map> #inc ...

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

    1069. 微博转发抽奖(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小明PAT考了满分,高兴之余决定 ...

  6. PAT 乙级 1069  微博转发抽奖

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

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

    题目:PAT 乙级 1069 微博转发抽奖 (20 分) 经验总结: 可以建立一个set,用于存放中奖用户.若set中有此用户,代表此用户已中奖,奖品顺延. C++代码: #include<bi ...

  8. PAT 乙 1069 微博转发抽奖

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

  9. 1069 微博转发抽奖map

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

最新文章

  1. 在Swift中如何使用C中的Struct
  2. android获取未安装APK签名信息及MD5指纹
  3. linux gst qt,【ARM-Linux开发】Gstreamer+QT+摄像头 编程总结
  4. 为什么hbase里没有表会显示表已经存在_0712-6.2.0-HBase快照异常
  5. java 看虚拟机内存_java 虚拟机内存介绍
  6. 常见掌握类库与工具体系图 艾提拉总结 Atitit 文档资料处理重要类库与工具体系树 Configuration yml xml jsoup  Net apache commons net
  7. 区块链如何解决电商供应的问题?
  8. labelimg的使用
  9. 《觉醒年代》掀观剧热潮,年轻人为什么爱看主旋律了?
  10. 欧姆龙485通讯示例程序_PLC程序结构设计和技巧
  11. 2017安防民用市场现状及特点浅析
  12. Java练手项目实战——五子棋游戏实现思路及源码
  13. 拯救者R7000系列(AMD) win10+ubuntu20双系统安装笔记,解决显卡、亮度控制、触控板问题
  14. 2017年计算机ppt考试试题,2017年职称计算机考试(PPT练习题大全)
  15. SNMP简单网络配置协议
  16. Java中多继承的实现
  17. php mysql 聊天室_聊天室phpmysql(四)
  18. 1. PYNQ在ZCU102上的移植【PYNQ】
  19. 李艳鹏:技术人如何修炼内功
  20. 【通信】基于 ADMM 的大规模 MIMO 无穷范数检测附matlab代码

热门文章

  1. 用计算机唱歌 丑八怪乐谱,《成都》计算器谱子 抖音计算器按出的音乐乐谱大全...
  2. Qt+OpenVino部署yolo5模型
  3. 单词 of 《cyberspace :if you don't love it ,leave it 》
  4. (闪存)存储基础知识
  5. 联想G40重装linux系统,联想g40-30如何重装系统_联想g40-30重装win7系统的图文教程-win7之家...
  6. RabitMQ系列之 Spring RabbitMQ流量削锋实现案例之抢红包
  7. 心理月刊杂志心理月刊杂志社心理月刊编辑部2022年第11期目录
  8. 【MyBatis动态SQL批量修改数据出现报错问题】
  9. Flutter运行报错Automatically assigning platform `iOS` with version `9.0` on target `Runner`...
  10. 电脑页面怎么没有计算机,如何找回电脑里消失的IE浏览器图标?