#HLOI2025B. 【HLOI2025】字符串压缩

【HLOI2025】字符串压缩

题目描述

编写一个程序,实现字符串的压缩算法。具体要求如下:

  • 输入:一个由小写字母组成的非空字符串 s(长度不超过 1000)。
  • 输出:若压缩后的字符串长度小于原字符串,则输出压缩后的字符串;否则输出原字符串。
  • 压缩规则:将连续相同的字符替换为 字符+出现次数。例如:
    • 输入 aaabcc → 输出 a3b1c2
    • 输入 aabbaaaaa → 输出 a2b2a5

注意

  1. 若压缩后的字符串长度与原字符串相等或更长,必须返回原字符串。
  2. 单个字符(如 a)需压缩为 a1

输入格式

输入一行,包含一个仅由小写字母组成的字符串 s

输出格式

输出压缩后的结果字符串或原字符串(根据长度比较)。

输入输出样例

样例1

输入

aaabcc  

输出

a3b1c2  

样例2

输入

abc  

输出

abc  

解释:原字符串长度为 3,压缩后为 a1b1c1(长度 6),故返回原字符串。

样例3

输入

aabbaaaaa  

输出

a2b2a5  

样例4

输入

a  

输出

a  

样例5

输入

aaaaa  

输出

a5  

提示

  1. 字符串长度范围:1 ≤ |s| ≤ 1000
  2. 压缩时需遍历字符串并统计连续字符的次数。
  3. 若压缩后长度未减少,必须返回原字符串。