因为Bessie厌倦了使用只有“C”、“O”和“W”字符的常规文本字符串,Farmer John给了她Q个新字符串(1≤Q≤100),其中只有“M”和“O”。在字符“M”和“O”中,Bessie最喜欢的单词显然是“MOO”,所以她想使用以下操作将每个Q字符串转换为“MOO”:
1、用它的反义词替换第一个或最后一个字符(这样“M”就变成了“O”,“O”就变成了“M”)。
2、删除第一个或最后一个字符。
不幸的是,贝西很懒,除了绝对必要的手术,她不想做更多的手术。对于每个字符串,请帮助她确定形成“MOO”或输出1(如果不可能)所需的最小操作数。
输入格式(输入来自终端/标准输入):
第一行输入包含q的值。
接下来的Q行输入每一行都由一个字符串组成,每个字符串的字符不是‘M’就是‘O’。每个字符串至少包含1个字符,最多包含100个字符。
输出格式(打印输出到终端/ stdout):
在单独的行上输出每个输入字符串的答案。
样本输入:
3
MOMMOM
MMO
MOO
样本输出:
4
-1
0
将第一个字符串转换为“MOO”的4个操作序列如下:
用O替换最后一个字符(操作1)
删除第一个字符(操作2)
删除第一个字符(操作2)
删除第一个字符(操作2)
请教各位
注意要转化成MOO的话,中心必须是O,并且这个O无论在字符串的第二位到倒数第二位,把长度缩减到3位所需的操作数都一样。剩下的就是比对可能的解,MOO不用额外操作,OOO或MOM还要一次操作,OMM需要两次。没有解的情况就是第一步中没有筛选到第二到倒数第二个字符里有“O”