QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 2048 MB Total points: 100

#5078. Castle Design

الإحصائيات

ICPC 王国决定建造一座新城堡。城堡的边界被设计为一个直角多边形,其边平行于 $x$ 轴或 $y$ 轴。为了最大限度地减少敌方攻击造成的破坏,王国希望最小化该直角多边形的周长。让我们详细说明一下。

一个具有 $n$ 个顶点且坐标为整数的直角多边形 $P$ 若能实现一个长度为 $n$、由字母 L 和 R 组成的转弯序列 $S$,是指存在一种沿 $P$ 边界的逆时针遍历方式,使得遍历过程中在 $P$ 的顶点处所做的转弯构成了转弯序列 $S$;凸顶点的左转对应 L,凹顶点的右转对应 R。例如,图 B.1(a) 中的直角多边形实现了长度为 16 的转弯序列 $S = \text{RLLRLLLRRLLRLRLL}$。另一个长度为 14 的转弯序列 $S = \text{LLRLLRLLRLRLLR}$ 可以由图 B.1(b) 和 B.1(c) 中的直角多边形实现。注意,一个转弯序列在整数平面上可以有无穷多种直角多边形实现方式。

如果一个多边形除了相邻边的公共端点外没有其他边相交,则称其为简单多边形。如果一个多边形与垂直于某坐标轴的直线的交集至多为一个线段,则称该多边形关于该轴是单调的。若多边形关于 $x$ 轴和 $y$ 轴均单调,则称为 2-单调;若仅关于其中一个轴单调,则称为 1-单调。例如,图 B.1(a) 中的多边形是 1-单调的,因为它仅关于一个轴($x$ 轴)单调,而图 B.1(b) 和 B.1(c) 中的多边形是 2-单调的。如果任何实现该转弯序列的简单直角多边形都是 $t$-单调的($t = 1, 2$),则称该转弯序列为 $t$-单调的。

图 B.1 (a) 一个实现 1-单调转弯序列 RLLRLLLRRLLRLRLL 的简单 1-单调直角多边形(从标记顶点开始)。(b) 一个实现 2-单调转弯序列 LLRLLRLLRLRLLR 的简单 2-单调直角多边形(从标记顶点开始)。(c) 针对 (b) 中转弯序列的最小周长 2-单调直角多边形。

直角多边形的周长是其各边长度之和。图 B.1(b) 中多边形的周长为 18,但这并不是 $\text{LLRLLRLLRLRLLR}$ 的最小周长。其最小周长应为 16,如图 B.1(c) 所示。

给定一个 $n$ 个转弯的 $t$-单调转弯序列($t = 1, 2$),编写一个程序来计算实现该输入 $t$-单调转弯序列的简单 $t$-单调直角多边形的最小周长。

输入格式

程序从标准输入读取数据。输入为一行,包含一个由两个大写字母 L 和 R 组成的 $n$ 个转弯的字符串,该字符串是一个 $t$-单调转弯序列,其中 $t = 1, 2$ 且 $4 \leq n \leq 10^{t+3}$。

输出格式

程序向标准输出写入数据。仅打印一行,包含一个正整数,即实现输入 $t$-单调转弯序列的简单 $t$-单调直角多边形的最小周长($t = 1, 2$)。

样例

样例 1

LLRLLRLLRLRLLR

样例 1 输出

16

样例 2

RLLRLLLRRLLRLRLL

样例 2 输出

20

样例 3

LLRRLLLLRRLL

样例 3 输出

16

样例 4

RLLRLLRLLRLL

样例 4 输出

12

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.