QOJ.ac

QOJ

時間限制: 0.5 s 記憶體限制: 1024 MB 總分: 100

#2764. 种菜很有趣 3

统计

JOI-kun 是一位家庭园艺专家,他在自己的花园里种植了 Joy 草。花园里有 $N$ 个花盆沿东西方向排列。这些花盆从西端开始编号为 $1, \dots, N$。共有 $N$ 株 Joy 草,每个花盆里种有一株。

春天,JOI-kun 注意到 Joy 草长出的叶子颜色各异,这与他的预期不符。此外,他还发现 Joy 草的生长情况不如预期。他查阅了书籍,发现了以下事实:

  • Joy 草有 3 种,分别长出红色、绿色或黄色的叶子。
  • 如果相同叶子颜色的 Joy 草靠得太近,它们的生长就会受到阻碍。

因此,JOI-kun 决定重新排列花盆,使得没有相同叶子颜色的 Joy 草相邻。由于花盆很重,JOI-kun 在单次操作中只能交换相邻花盆中的两株 Joy 草。换句话说,JOI-kun 在单次操作中可以选择任意花盆 $i$ ($1 \le i \le N - 1$),然后交换花盆 $i$ 和 $i + 1$ 中的 Joy 草。

请编写一个程序,给定 Joy 草的数量及其颜色,计算为了使没有相同叶子颜色的 Joy 草相邻,所需的最少操作次数。

输入格式

从标准输入读取以下数据:

$N$ $S$

$S$ 是一个长度为 $N$ 的字符串。其第 $i$ 个 ($1 \le i \le N$) 字符表示花盆 $i$ 中 Joy 草的叶子颜色,'R' 代表红色,'G' 代表绿色,'Y' 代表黄色。

输出格式

将所需的最少操作次数输出到标准输出。如果无法通过重新排列使得没有相同叶子颜色的 Joy 草相邻,则输出 $-1$。

数据范围

  • $1 \le N \le 400$。

子任务

  1. (5 分) $N \le 15$。
  2. (55 分) $N \le 60$。
  3. (15 分) $S$ 中的每个字符均为 'R' 或 'G'。
  4. (25 分) 无附加限制。

样例

样例输入 1

5
RRGYY

样例输出 1

2

以下是一种使 Joy 草重新排列后没有相同叶子颜色相邻的方法: 首先,交换花盆 3 和 4 中的 Joy 草。 其次,交换花盆 2 和 3 中的 Joy 草。

在此之后,Joy 草的顺序将变为 RYRGY。由于无法通过最多 1 次操作完成重排,因此答案为 2。

样例输入 2

6
RRRRRG

样例输出 2

-1

在此示例中,无论进行何种操作,都无法使 Joy 草重新排列后没有相同叶子颜色相邻。

样例输入 3

20
YYGYYYGGGGRGYYGRGRYG

样例输出 3

8

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.