P12443 [NERC2023] LOL Lovers

题目描述

在一张长桌上摆放着排成一行的 $n$ 个食物。每个食物要么是一个面包(用大写拉丁字母 $\texttt{L}$ 表示,ASCII 码为 76),要么是一个洋葱(用大写拉丁字母 $\texttt{O}$ 表示,ASCII 码为 79)。桌上至少有一个面包和一个洋葱。 你和你的朋友想要分配桌上的食物:你将拿走这排食物的一个前缀(最左边的若干个物品),而你的朋友将拿走剩下的部分。然而,分配需要满足以下几个限制条件: - 每个人都必须至少拿到一个物品。 - 你拿到的面包数量必须与朋友拿到的面包数量不同。 - 你拿到的洋葱数量必须与朋友拿到的洋葱数量不同。 请找出任意一个满足条件的分割方案,并输出你拿走的物品数量;如果不存在这样的方案,则报告无解。

输入格式

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

输出格式

输出一个整数 $k$,表示如果你拿走最左边的 $k$ 个物品,而你的朋友拿走剩下的 $n - k$ 个物品,那么: - 你和朋友各自至少拿到一个物品; - 你的面包数量与朋友的面包数量不同; - 你的洋葱数量与朋友的洋葱数量不同。 如果存在多个可能的答案,输出其中任意一个即可。如果不存在满足条件的分割方案,则输出 $-1$。

说明/提示

在第一个样例中,任何分割方式下,左边和右边的部分都各有一个面包,因此无法满足条件。 在第二个样例中,分割为 $\texttt{L}$ 和 $\texttt{O}$,此时两边的面包数量不同(1 和 0),洋葱数量也不同(0 和 1)。 在第三个样例中,任意选择 1、2 或 3 作为 $k$ 都是正确答案。 翻译由 DeepSeek V3 完成