蓝桥杯 2020 第一轮省赛 A 组 F 题(B 组 G 题)解码

简介: 蓝桥杯 2020 第一轮省赛 A 组 F 题(B 组 G 题)解码

蓝桥杯 2020 第一轮省赛 A 组 F 题(B 组 G 题)解码

题目描述

小明有一串很长的英文字母,可能包含大写和小写。

在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 + 出现次数的形式。 例如,连续的 5 5 5a,即 aaaaa,小明可以简写成 a5(也可能简写成 a4aaa3a 等)。

对于这个例子:HHHellllloo,小明可以简写成 H3el5o2。为了方便表达,小明不会将连续的超过9个相同的字符写成简写的形式。

现在给出简写后的字符串,请帮助小明还原成原来的串。

输入格式

输入一行包含一个字符串。

输出格式

输出一个字符串,表示还原后的串。

样例 #1

样例输入 #1

H3el5o2

样例输出 #1

HHHellllloo

提示

对于所有评测用例,字符串由大小写英文字母和数字组成,长度不超过 100 100 100。请注意原来的串长度可能超过 100 100 100

蓝桥杯 2020 第一轮省赛 A 组 F 题(B 组 G 题)。

解题思路

读入一串字符,当为数字的时候,读取该数字并数值减去 1 ,重复输出上一个字母,当为字母是直接输出该字母。

代码如下

#include<bits/stdc++.h>
using namespace std;
int main()
{
  string str;
  cin >> str;
  char ch;
  int t = 0;
  for(int i = 0; i < str.length(); i++){
    if(isdigit(str[i])){
      t = str[i] - '0' - 1;
      ch = str[i - 1];
      while(t--) cout << ch;
    }
    else {
      ch = str[i];
      cout << ch;
    }
  }
  return 0;
}


相关文章
|
8月前
|
算法
第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)
第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)
74 0
|
3月前
|
人工智能 C++
第十四届蓝桥杯省赛大学B组(C/C++)整数删除
第十四届蓝桥杯省赛大学B组(C/C++)整数删除
|
3月前
|
测试技术 定位技术 C++
第十四届省赛大学B组(C/C++)岛屿个数
第十四届省赛大学B组(C/C++)岛屿个数
|
8月前
|
机器学习/深度学习 人工智能 测试技术
棋盘(来源:第十四届蓝桥杯省赛JavaA/C/研究生组 , 第十四届蓝桥杯省赛PythonC组)
棋盘(来源:第十四届蓝桥杯省赛JavaA/C/研究生组 , 第十四届蓝桥杯省赛PythonC组)
【2012NOIP普及组】T1. 质因数分解 试题解析
【2012NOIP普及组】T1. 质因数分解 试题解析
|
C++
第十三届蓝桥杯省赛 C++ B组 - 修剪灌木
第十三届蓝桥杯省赛 C++ B组 - 修剪灌木
116 0
|
C++
第四届蓝桥杯省赛 C++ B组 - 翻硬币
第四届蓝桥杯省赛 C++ B组 - 翻硬币
82 0
|
人工智能 Java 测试技术
2023年B组蓝桥杯省赛考前好题整理
请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。 请将这个数的十进制形式作为答案提交。
786 0
|
定位技术 C++
蓝桥杯——2018第九届C/C++真题[省赛][B组](二)
蓝桥杯——2018第九届C/C++真题[省赛][B组]
蓝桥杯——2018第九届C/C++真题[省赛][B组](二)
|
算法 C++
蓝桥杯——2018第九届C/C++真题[省赛][B组](一)
蓝桥杯——2018第九届C/C++真题[省赛][B组]
蓝桥杯——2018第九届C/C++真题[省赛][B组](一)