#E. [USACO23JAN] Moo Operations B

    Type: Default 1000ms 256MiB

[USACO23JAN] Moo Operations B

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

[USACO23JAN] Moo Operations B

题面翻译

题目描述

农夫约翰给了奶牛贝西 QQ 个新字符串 (1Q100)(1\le Q\le100) ,其中只有字符 MO ,她想将 QQ 个字符串都变成 MOO

贝西可以用如下的方式改变字符串:

  • 用相反的字符替换第一个或最后一个字符(将 M 变成 O ,将 O 变成 M )。
  • 删除第一个或最后一个字符。

贝西只想用最少的次数完成改变。请你帮她找到需要的最小改变次数。如果不可能在有限的步数中完成这个任务,请输出 -1

输入格式

输入数据的第一行是一个正整数 QQ

接下来的 QQ 行中,每行一个只包含大写字母 MO 的字符串 SS ,保证 1S100 1\le |S| \le 100

输出格式

输出 QQ 行,每行为该测试点最小操作次数,如果不可能在有限的步数中完成这个任务,请输出 -1

提示

样例解释 1

将第一个字符串转换为 MOO44 个操作序列如下:

  • 用O替换最后一个字符(操作1)
  • 删除第一个字符(操作2)
  • 删除第一个字符(操作2)
  • 删除第一个字符(操作2)

可以证明,第二个字符串无法转换为 MOO

第三个字符串已经是 MOO,因此无需执行任何操作。

数据范围

对于 100%100\% 的测试点,保证 1Q1001 \le Q \le 100, 1S100 1\le |S| \le 100

题目描述

Because Bessie is bored of playing with her usual text string where the only characters are C, O, and W, Farmer John gave her QQ new strings (1Q100)(1 \le Q \le 100), where the only characters are M and O. Bessie's favorite word out of the characters M and O is obviously MOO, so she wants to turn each of the QQ strings into MOO using the following operations:

  1. Replace either the first or last character with its opposite (so that 'M' becomes 'O' and 'O' becomes 'M').
  2. Delete either the first or last character.

Unfortunately, Bessie is lazy and does not want to perform more operations than absolutely necessary. For each string, please help her determine the minimum number of operations necessary to form MOO or output 1−1 if this is impossible.

输入格式

The first line of input contains the value of QQ.

The next QQ lines of input each consist of a string, each of its characters either M or O. Each string has at least 11 and at most 100100 characters.

输出格式

Output the answer for each input string on a separate line.

样例 #1

样例输入 #1

3
MOMMOM
MMO
MOO

样例输出 #1

4
-1
0

提示

Explanation for Sample 1

A sequence of 44 operations transforming the first string into MOO is as follows:

Replace the last character with O (operation 1) Delete the first character (operation 2) Delete the first character (operation 2) Delete the first character (operation 2)

The second string cannot be transformed into MOO. The third string is already MOO, so no operations need to be performed.

Scoring

  • Inputs 242-4: Every string has length at most 33.
  • Inputs 5115-11: No additional constraints.

2023-11-24

Not Claimed
Status
Done
Problem
5
Open Since
2023-11-24 0:00
Deadline
2023-12-1 0:00
Extension
24 hour(s)