该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
旋转分块(Rotate)
题目描述
乐柠兔得到一个长度为 的字符串 ,字符串只由小写英文字母组成。
定义一个字符串中的分块为一段连续相同字符,并且不能再向左或向右扩展的子串。例如,字符串 aabcccdaa 中共有 个分块:aa、b、ccc、d、aa。
乐柠兔可以对字符串进行任意次循环旋转。一次循环旋转可以选择一个位置 ,将原字符串
变为
例如,字符串 abcde 可以通过选择 旋转成 deabc。
旋转完成后,乐柠兔的得分等于最终字符串中的分块数量。
请你求出乐柠兔通过循环旋转能够得到的最大得分。
输入格式
第一行包含一个整数 ,表示测试数据组数。
接下来依次给出 组数据。对于每组数据:
第一行包含一个整数 。
第二行包含一个长度为 的字符串 。
输出格式
对于每组数据,输出一行一个整数,表示循环旋转后能够得到的最大分块数量。
样例
样例输入 #1
4
4
abcd
4
abbc
4
abba
6
abbccc
样例输出 #1
4
4
3
4
样例解析
对于第一组数据,abcd 本身就有 个分块,并且字符串长度为 ,分块数量不可能超过 。
对于第二组数据,abbc 可以旋转为 bcab,此时分块为 b、c、a、b,共有 个分块。
对于第三组数据,abba 无论怎样旋转,最多只能得到 个分块,例如旋转为 baab,分块为 b、aa、b。
数据范围与约定
对于 的数据,保证 ,, 只由小写英文字母组成。
| 测试点编号 | 分值 | 特殊性质 | ||
|---|---|---|---|---|
| 1-2 | 10 | 无 | ||
| 3-5 | 15 | 特殊性质 A | ||
| 6-8 | 特殊性质 B | |||
| 9-12 | 20 | 特殊性质 C | ||
| 13-16 | 无 | |||
| 17-20 |
- 特殊性质 A:保证每个字符串中所有字符都相同。
- 特殊性质 B:保证每个字符串中相邻两个字符都不同。
- 特殊性质 C:保证每个字符串只包含字符
a和b。
京公网安备11010802045784号