CF1912L LOL Lovers
题目描述
有 $n$ 个食物依次排成一行放在一张长桌上。每个食物要么是一个面包(用大写字母 'L' 表示,ASCII 码为 76),要么是一个洋葱(用大写字母 'O' 表示,ASCII 码为 79)。桌上至少有一个面包和至少一个洋葱。
你和你的朋友想要分这些食物:你将取这个序列的一个前缀(即最左边的若干个物品),你的朋友取剩下的部分。但有以下几个限制:
1. 每个人至少要有一个物品。
2. 你拥有的面包数量与朋友拥有的面包数量必须不同。
3. 你拥有的洋葱数量与朋友拥有的洋葱数量必须不同。
请找出任意一种满足条件的分法,并输出你拿的物品数量。如果无解,输出 $-1$。
输入格式
第一行包含一个整数 $n$($2 \le n \le 200$),表示桌上的食物数量。
第二行包含一个长度为 $n$ 的字符串,由字母 'L' 和 'O' 组成。第 $i$ 个字符表示第 $i$ 个食物的类型:'L' 表示面包,'O' 表示洋葱。保证该字符串中至少有一个 'L' 和至少有一个 'O'。
输出格式
输出一个整数 $k$,表示如果你取最左边 $k$ 个物品,你的朋友取剩下的 $n-k$ 个物品,且每个人至少有一个物品,你拥有的面包数与朋友拥有的面包数不同,你拥有的洋葱数与朋友拥有的洋葱数也不同。如果有多种答案,输出任意一个。如果无解,输出 $-1$。
说明/提示
在第一个样例中,无论如何分割,左边和右边部分都各有一个面包。
在第二个样例中,可以分成 'L' 和 'O',这两部分中面包数不同(1 和 0),洋葱数也不同(0 和 1)。
在第三个样例中,1、2 或 3 都是正确答案。
由 ChatGPT 4.1 翻译