#P12443. [NERC2023] LOL Lovers

[NERC2023] LOL Lovers

Description

在一张长桌上摆放着排成一行的 nn 个食物。每个食物要么是一个面包(用大写拉丁字母 L\texttt{L} 表示,ASCII 码为 76),要么是一个洋葱(用大写拉丁字母 O\texttt{O} 表示,ASCII 码为 79)。桌上至少有一个面包和一个洋葱。

你和你的朋友想要分配桌上的食物:你将拿走这排食物的一个前缀(最左边的若干个物品),而你的朋友将拿走剩下的部分。然而,分配需要满足以下几个限制条件:

  • 每个人都必须至少拿到一个物品。
  • 你拿到的面包数量必须与朋友拿到的面包数量不同。
  • 你拿到的洋葱数量必须与朋友拿到的洋葱数量不同。

请找出任意一个满足条件的分割方案,并输出你拿走的物品数量;如果不存在这样的方案,则报告无解。

Input Format

第一行包含一个整数 nn2n2002 \le n \le 200)——桌上食物的数量。
第二行包含一个长度为 nn 的字符串,由字母 L\texttt{L}O\texttt{O} 组成。第 ii 个字符表示桌上第 ii 个食物的类型:L\texttt{L} 代表面包,O\texttt{O} 代表洋葱。保证该字符串中至少有一个 L\texttt{L} 和一个 O\texttt{O}

Output Format

输出一个整数 kk,表示如果你拿走最左边的 kk 个物品,而你的朋友拿走剩下的 nkn - k 个物品,那么:

  • 你和朋友各自至少拿到一个物品;
  • 你的面包数量与朋友的面包数量不同;
  • 你的洋葱数量与朋友的洋葱数量不同。

如果存在多个可能的答案,输出其中任意一个即可。如果不存在满足条件的分割方案,则输出 1-1

3
LOL
-1
2
LO
1
4
LLLO
1
4
OLOL
-1
10
LLOOOOLLLO
5

Hint

在第一个样例中,任何分割方式下,左边和右边的部分都各有一个面包,因此无法满足条件。

在第二个样例中,分割为 L\texttt{L}O\texttt{O},此时两边的面包数量不同(1 和 0),洋葱数量也不同(0 和 1)。

在第三个样例中,任意选择 1、2 或 3 作为 kk 都是正确答案。

翻译由 DeepSeek V3 完成