#P14723. [ICPC 2022 Seoul R] Castle Design
[ICPC 2022 Seoul R] Castle Design
Description
ICPC 王国决定建造一座新的城堡。城堡的边界被设计为一个直角多边形,其边平行于 轴或 轴。为了最小化暴露在敌人攻击下的损害,王国希望最小化该直角多边形的周长。让我们进一步详细说明。
一个具有 个整数坐标顶点的直角多边形 实现 了一个长度为 、由字母 L 和 R 组成的转向序列 ,如果存在一种沿 边界逆时针的遍历,使得在遍历过程中遇到的 的顶点处的转向构成了转向序列 ;在凸顶点处的左转对应 L,在凹顶点处的右转对应 R。例如,图 B.1(a) 中的直角多边形实现了长度为 的转向序列 。另一个长度为 的转向序列 可以由图 B.1(b) 和 B.1(c) 中的直角多边形实现。请注意,一个转向序列在整数平面上可以有无限多个直角多边形实现。
一个多边形如果是简单的,则除了相邻边的端点外,没有两条边相交。一个多边形如果相对于某个坐标轴是单调的,则其与垂直于该轴的直线的交点最多为一个线段。单调多边形如果同时相对于 轴和 轴都是单调的,则称为 2-单调;如果仅相对于一个轴是单调的,而相对于另一个轴不是,则称为 1-单调。例如,图 B.1(a) 中的多边形是 1-单调的,因为它仅对 轴单调;而图 B.1(b) 和 B.1(c) 中的多边形是 2-单调的。一个转向序列也被称为 -单调,如果任何实现该转向序列的简单直角多边形都是 -单调的,其中 。
:::align{center}

图 B.1 (a) 一个实现 1-单调转向序列 RLLRLLLRRLLRIRLLL 的简单 1-单调直角多边形(从标记顶点开始)。(b) 一个实现 2-单调转向序列 LLRLLRLLRLLRLLR 的简单 2-单调直角多边形(从标记顶点开始)。(c) 对于 (b) 中的转向序列,具有最小周长的 2-单调直角多边形。 :::
直角多边形的周长是其各边长度的总和。图 B.1(b) 中多边形的周长是 ,但这不是 的最小周长。其最小周长应为 ,如图 B.1(c) 所示。
给定一个长度为 的 -单调转向序列(),请编写一个程序,计算能够实现该输入 -单调转向序列的简单 -单调直角多边形的最小周长。
Input Format
你的程序需要从标准输入读取数据。输入是一行,包含一个由大写字母 L 和 R 组成的长度为 的转向序列字符串,它是一个 -单调转向序列,其中 ,且 。
Output Format
你的程序需要向标准输出写入数据。输出恰好一行。该行应包含一个正整数,表示能够实现输入 -单调转向序列()的简单 -单调直角多边形的最小周长。
LLRLLRLLRLRLLR
16
RLLRLLLRRLLRLRLL
20
LLRRLLLLRRLL
16
RLLRLLRLLRLL
12
Hint
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号