2712: 2025AHCPC - 二值图像
题目描述
二值图像是数字图像处理和机器视觉的一种主要介质. 而游程编码 $(Run \ Length \ Encoding, \ RLE)$ 是一种统计编码. 主要技术是检测重复的比特或字符序列, 并用他们的出现次数取而代之. 比较适合于二值图像的编码.
针对一个待压缩序列, 游程编码的构造方式如下:
将序列连续的部分提取出来;
对于每一段连续的部分, 把他替换成连续段的长度和该段的元素, 例如, " $0$ "应当被替换为 " $10$ ", 表示有 $1$ 个 $0$, " $999999999999$ " 应当被替换为 " $129$ ", 意义同上;
将替换后的段按照原顺序输出.
有一个用于二值图像膨胀和腐蚀的神经网络只能接收游程编码形式的输入, 而小 $M$ 为了提升这个神经网络的迁移能力, 对其中间层进行了修改, 使其能够处理全彩图像, 所以这个神经网络的输入与传统二值图像不同, 不止为 $0\/1$ 串, 而是只含大小写字母和数字 (不包含其他符号) 的 $BASE64$ 串. 请你编写程序, 将一个待压缩序列转换为游程编码, 作为神经网络的输入.
输入
第一行输入一个整数 $N$.
第二行输入一个长度为 $N$ 的序列 $S$, 表示指定的序列.
输出
输入样例1 复制
6
114514
输出样例1 复制
2114151114
输入样例2 复制
23
23333333333333333333333
输出样例2 复制
12223
输入样例3 复制
10
abbcccdddd
输出样例3 复制
1a2b3c4d
提示
对于 $20\%$ 的数据, 保证 $N = 3$.
对于 另外 $20\%$ 的数据, $\forall x,y\in [1,N],$ 都有 $s[x] = s[y]$.
对于 $100\%$ 的数据, $1 \le N \le 10^4,$ 字符串元素一定为大小写和数字.