CF954A.Diagonal Walking

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Diagonal Walking

题目描述

Mikhail 在一个二维平面上行走。他每次只能向上或向右走。你得到了 Mikhail 的一系列移动序列。他觉得这个序列太长了,想要尽可能缩短它。

在给定的序列中,向上移动用字符 U 表示,向右移动用字符 R 表示。Mikhail 可以将任意一对连续的 RU 或 UR 替换为一次对角线移动(用字符 D 表示)。在此之后,他可以继续进行其它替换,直到序列中不再有连续的 RU 或 UR 为止。

你的任务是输出经过所有替换后,移动序列的最小可能长度。

输入格式

输入的第一行包含一个整数 nn1n1001 \leq n \leq 100),表示移动序列的长度。第二行包含由 nn 个字符 U 和 R 组成的序列。

输出格式

输出经过所有替换后,移动序列的最小可能长度。

说明/提示

在第一个测试样例中,缩短后的移动序列可以是 DUD(长度为 33)。

在第二个测试样例中,缩短后的移动序列可以是 UUDRRRDUDDUUU(长度为 1313)。

由 ChatGPT 4.1 翻译

样例

5
RUURU
3
17
UUURRRRRUUURURUUU
13

在线编程 IDE

建议全屏模式获得最佳体验