3. 录入成绩【算法赛】{这题通过率是不是有点高!}——《蓝桥杯》第 24 场 ...

打印 上一主题 下一主题

主题 1024|帖子 1024|积分 3072

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述

点击查看标题信息
  1. 蓝桥杯全国总决赛的颁奖典礼结束后,小蓝被分配了一个任务——录入部分获奖选手的奖项信息。
  2. 他用 "G"、"G1"、"G2"、"G3"、"GG"、"1"、"2"、"3" 这些字符串分别表示国特、国一、国二、国三、国优、省一、省二、省三等级。为了提高效率,小蓝写了个 Python 脚本来自动录入这些字符串。但是,小蓝过于粗心,竟忘记在各个奖项代码之间加分隔符!这就导致运行完脚本后,所有的奖项信息都挤在一起变成了一串长长的字符串,例如 "GG123G1G2G3123G1"。
  3. 小蓝的头发都快掉光了!他知道这部分选手中,每个奖项都至少有一位获奖选手,且国特只有一位。现在,他对着这串乱糟糟的字符串 S,想知道这部分选手中最多可能有多少位选手获得了国一("G1")。
  4. 对此,请你帮帮可怜的小蓝,找出字符串 S 中最多可能有多少个 "G1"。
  5. ## 输入格式
  6. 输入一个字符串 S,包含了所有的奖项信息,字符串长度不超过 2×10^3。
  7. S 由 "G"、"G1"、"G2"、"G3"、"GG"、"1"、"2"、"3" 组成,保证 S 是合法的。
  8. ## 输出格式
  9. 输出一个整数,表示字符串
  10. S中最多可能包含的 "G1" 的个数。
  11. ## 样例输入
  12. GG123GG2G1G2G3123
  13. ## 样例输出
  14. 2
复制代码
解法思绪

标题的核心就是每个奖项都至少有一位获奖选手,且国特只有一位。,所以要对S中的G枚举国特,记录除当前G剩下的字符串中G1的最大数量。留意要记录下是不是每个奖项都至少有一位获奖选手,且不能有国特(由于国特已经被考虑了)可以用unordered_map记录,末了查询一下key的数量。
代码

[code]#include #include using namespace std;int main() {  string s;  cin>>s;  int ans = 0;  for (int i=0; i
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表