CF2192A String Rotation Game
Description
Define a block in a string as a contiguous substring of characters of the same type that cannot be extended either to the left or the right. For example, in the string aabcccdaa, there are five blocks:
- aa ( $ 1 $ -st to $ 2 $ -nd characters)
- b ( $ 3 $ -rd character)
- ccc ( $ 4 $ -th to $ 6 $ -th characters)
- d ( $ 7 $ -th character)
- aa ( $ 8 $ -th to $ 9 $ -th characters).
You are playing a game where you are given a string $ s $ of length $ n $ . You can cyclically rotate $ ^{\text{∗}} $ the string however you want. Your score is then calculated as the number of blocks in the final string. Please find the maximum score possible.
$ ^{\text{∗}} $ Formally, choose an index $ 1 \leq i \leq n $ , and replace the string $ s_1s_2\ldots s_n $ with the string $ s_{i+1}s_{i+2}\ldots s_ns_1s_2\ldots s_{i} $ . For example, the string abcde can be rotated to string deabc by choosing $ i=3 $ .
Input Format
Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 500 $ ). The description of the test cases follows.
The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 100 $ ).
The second line of each test case contains the string $ s $ of length $ n $ .
Strings $ s $ consist of lowercase Latin characters only.
Output Format
For each testcase, output a single integer denoting the maximum score you can achieve.
Explanation/Hint
In the first test case, score of the original string abcd is $ 4 $ . It can be shown that a score greater than $ 4 $ cannot be achieved.
In the second test case, cyclically rotating the string by $ 2 $ positions will give us string bcab. Score of this string is $ 4 $ . It can be shown that a score greater than $ 4 $ cannot be achieved.