QOJ.ac

QOJ

時間限制: 3.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#10438. LOL 爱好者

统计

有 $n$ 个食物排成一排放在长桌上。每个食物要么是面包(用大写拉丁字母 ‘L’ 表示,ASCII 码为 76),要么是洋葱(用大写拉丁字母 ‘O’ 表示,ASCII 码为 79)。桌上至少有一个面包和至少一个洋葱。

你和你的朋友想要平分桌上的食物:你拿走这一排的前缀(最左边的若干个食物),剩下的归你的朋友。然而,有以下几点限制:

  1. 每个人至少要拿到一个食物。
  2. 你拥有的面包数量必须与你朋友拥有的面包数量不同。
  3. 你拥有的洋葱数量必须与你朋友拥有的洋葱数量不同。

请找到任意一种合法的分割方式,并输出你拿走的食物数量;如果不存在合法的分割方式,请输出无解。

输入格式

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

输出格式

输出一个整数 $k$,表示如果你拿走最左边的 $k$ 个食物,而你的朋友拿走剩下的 $n-k$ 个食物,满足你和你的朋友每人至少拿到一个食物,且你拥有的面包数量与你朋友的不同,你拥有的洋葱数量也与你朋友的不同。如果存在多种可能的答案,输出其中任意一个即可。如果不存在可能的答案,输出 $-1$。

样例

样例输入 1

3
LOL

样例输出 1

-1

样例输入 2

2
LO

样例输出 2

1

样例输入 3

4
LLLO

样例输出 3

1

样例输入 4

4
OLOL

样例输出 4

-1

样例输入 5

10
LLOOOOLLLO

样例输出 5

5

说明

在第一个样例中,无论如何分割,左边和右边部分都包含一个面包。

在第二个样例中,分割为 ‘L’ 和 ‘O’,在这两个字符串中,面包的数量不同(分别为 1 和 0),洋葱的数量也不同(分别为 0 和 1)。

在第三个样例中,任何数字 1、2 或 3 都是正确的答案。

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.