CF954A Diagonal Walking

题目描述

Mikhail 在一个二维平面上行走。他每次只能向上或向右走。你得到了 Mikhail 的一系列移动序列。他觉得这个序列太长了,想要尽可能缩短它。 在给定的序列中,向上移动用字符 U 表示,向右移动用字符 R 表示。Mikhail 可以将任意一对连续的 RU 或 UR 替换为一次对角线移动(用字符 D 表示)。在此之后,他可以继续进行其它替换,直到序列中不再有连续的 RU 或 UR 为止。 你的任务是输出经过所有替换后,移动序列的最小可能长度。

输入格式

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

输出格式

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

说明/提示

在第一个测试样例中,缩短后的移动序列可以是 DUD(长度为 $3$)。 在第二个测试样例中,缩短后的移动序列可以是 UUDRRRDUDDUUU(长度为 $13$)。 由 ChatGPT 4.1 翻译