GP28461. 压缩

提交3 通过2
通过率66.7%
文件IO启用
输入文件erase.in
输出文件erase.out
时间限制1000ms
内存限制512MiB
    ID: 14579 传统题 文件IO 输入文件:erase.in 输出文件:erase.out 1000ms 512MiB 尝试: 3 已通过: 2 难度: 入门 上传者: 标签>字符串处理

题目描述

题目描述

给定一个只包含 0 和 1 的字符串。把每一段连续相同的字符合并成一个字符,得到它的 01 压缩串。

例如,111100011100 中的 1111、000、111、00 各保留一个字符,压缩后得到 1010,长度为 44。

请计算整个串的 01 压缩串长度。

输入格式

从文件 erase.in 中读取数据。

第一行包含一个整数 nn,表示原串的长度。

第二行包含一个长度为 nn 的字符串 ss,只包含 0 和 1。

输出格式

输出到文件 erase.out 中。

输出一个整数,表示整个串的 01 压缩串长度。

12
111100011100
4
5
00000
1

样例解释

样例 #1 中,原串有四段连续相同的字符,压缩后得到 1010,长度为 44。

样例 #2 中,五个 0 合并成一个 0,长度为 11。

数据规模与约定

对于所有数据,保证 1≤n≤1061\le n\le 10^6,字符串 ss 的长度为 nn,且只包含 0 和 1。

本题采用子任务捆绑计分:只有通过一个子任务的全部测试数据,才能获得该子任务的分数。

子任务编号 分值 额外约束
11 1515 所有字符都相同
22 任意两个相邻字符都不同
33 3030 n≤2000n\le 2000
44 4040 无额外约束

下发文件

下载三组测试数据,非真实测试数据