#7365. 短信压缩(2026省赛选拔赛c3)

短信压缩(2026省赛选拔赛c3)

题目描述

   

小明最近办理了一个新的手机短信套餐。这个套餐的收费方式比较特殊: 发送短信时, 系统会按照短信中字符的数量进行计费。

小明发现,自己经常会在短信中连续输入很多相同的字符。例如: +++++=====.

为了减少需要发送的字符数量,小明想到了一种简单的压缩方法。

对于一段连续相同的字符,可以将它压缩为:连续出现的次数 该字符

例如,字符串 +++===!!! 可以压缩为: 3 + 3 = 4 !

因为它由 3 个连续的 +, 3 个连续的 =,以及 4 个连续的 ! 组成。

更一般地说, 一个连续块是指一段尽可能长的、由相同字符组成的连续子串。每个连续块在压缩后表示为该连续块的长度,后面跟着该连续块中的字符。

现在给定若干行字符串,请你按照上述规则对每一行字符串进行压缩。

输入格式

输入共 N + 1 行。

第一行包含一个正整数 N,表示接下来需要压缩的字符串行数。

接下来 N 行, 每行包含一个字符串。字符串长度至少为 1, 至多为 80, 且字符串中不包含空格。

输出格式

输出共 N 行。

第 i 行输出输入中第 i 个字符串的压缩结果。

每一行的压缩结果由若干组内容组成,每一组表示一个连续块,格式为:

连续出现的次数字符,同一行中相邻两组之间用一个空格隔开。

提示

约定和数据范围

对于所有测试点,保证 1 ≤ N ≤ 10。

每个字符串长度至少为 1,至多为 80,且字符串中不包含空格。