撕开那个字符串
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
C 撕开那个字符串
题目描述
给定一个由小写拉丁字母组成的字符串 。
每次操作,你可以选择字符串中的若干(至少一个)位置,这些位置之间不能相邻。然后你删除这些位置上的字母,剩下的部分按原顺序拼接。
请问,最少需要多少次操作,才能使字符串 中所有字母都相同?
输入格式
第一行包含一个整数 (),表示测试用例的数量。
每个测试用例仅一行,包含一个由小写拉丁字母组成的字符串 ,其长度为 到 。
所有测试用例中字符串的总长度不超过 。
输出格式
对于每个测试用例,输出一个整数,表示将给定字符串 变为所有字母相同所需的最少操作次数。
输入输出样例
5
abacaba
bigcodeforce
oooooooo
abcdef
mewheniseearulhiiarul
1
3
0
2
4
说明/提示
在第一个测试用例中,你可以选择第 个位置,删除对应的字母 'b'、'c' 和 'b'。
在第三个测试用例中,字符串中的字母已经全部相同,因此不需要进行任何操作。
在第四个测试用例中,一种可能的两步操作方案如下:首先选择第 个位置,字符串变为 "bce"。然后选择第 和 个位置,字符串变为 "c"。此时所有字母都相同,因为只剩下一个字母。
数据范围
所有测试用例中字符串仅包含小写字母且总长度不超过