【编程题目 |100分】字符串简单数据解压缩【2022 Q2考试题】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

【字符串简单数据解压缩】

将一段压缩后的字符串解压缩,并且排序输出。

解压规则:

每个字符串后面跟随一个数字,表示这个字符串的重复次数。例如,“a5”解压缩的结果为“aaaaa”;“abc3”解压缩后的结果为“abcabcabc”。

排序规则:

1、根据每个字符串的重复次数升序排序,然后输出结果。例如,“a3b2”,输出的结果为“bbaaa”。
2、如果字符重复次数一样,则根据 ASCII 编码顺序做升序排序,然后输出结果。例如,“b2a2”,输出的结果为“aabb”

输入描述:

输入的原始字符串仅包含字母和数字

输出描述:

输出的结果字符串仅包含字母

示例 1  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

a11b2bac3bad3abcd2

输出

bbabcdabcdbacbacbacbadbadbadaaaaaaaaaaa


代码实现


C++


#include<bits/stdc++.h>

using namespace std;

typedef struct TypeN {
    vector<string> vector_string;
} TypeN;

int main(int argc, char **argv)
{
    string input_string;
    while (cin >> input_string) {
        string temp;
        int len = input_string.size();
        int i = 0;
        int num = 0;
        int flag = 0;

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


while 1:
    try:
        nums = input()

        lens = len(nums)

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看