1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main() { string s; cin >> s; // [1] 读取压缩后的字符串 int n = s.size(); string res = ""; // [2] 初始化解压后的结果字符串 int i = 0; // [3] 遍历压缩字符串,逐段解压 while (i < n) { // 处理数字(支持多位数) if (isdigit(s[i])) { int count = 0; // 收集连续的数字字符,转换为整数 while (i < n && isdigit(s[i])) { count = count * 10 + (s[i] - '0'); i++; } // 取出数字后的字母,重复count次并添加到结果 char c = s[i]; for (int j = 0; j < count; j++) { res += c; } i++; } else { // 单个字母(无数字前缀),直接添加到结果 res += s[i]; i++; } } cout << res << endl; // [4] 输出解压后的字符串 return 0; }
- 1
信息
- ID
- 131
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者