SHAOXIAOJ正在加载中...

2712: 2025AHCPC - 二值图像

金币值:4 定数:6 时间限制:1.000 s 内存限制:128 M
解决:2 提交:2 正确率:100.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 来源/分类: 程序设计大赛

题目描述

         二值图像是数字图像处理和机器视觉的一种主要介质.   而游程编码   $(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,$ 字符串元素一定为大小写和数字.