CF1912L.LOL Lovers

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 nn 个食物依次排成一行放在一张长桌上。每个食物要么是一个面包(用大写字母 'L' 表示,ASCII 码为 76),要么是一个洋葱(用大写字母 'O' 表示,ASCII 码为 79)。桌上至少有一个面包和至少一个洋葱。

你和你的朋友想要分这些食物:你将取这个序列的一个前缀(即最左边的若干个物品),你的朋友取剩下的部分。但有以下几个限制:

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

请找出任意一种满足条件的分法,并输出你拿的物品数量。如果无解,输出 −1-1。

输入格式

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

输出格式

输出一个整数 kk,表示如果你取最左边 kk 个物品,你的朋友取剩下的 n−kn-k 个物品,且每个人至少有一个物品,你拥有的面包数与朋友拥有的面包数不同,你拥有的洋葱数与朋友拥有的洋葱数也不同。如果有多种答案,输出任意一个。如果无解,输出 −1-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 都是正确答案。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页