CF1800D.Remove Two Letters

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Dmitry has a string ss , consisting of lowercase Latin letters.

Dmitry decided to remove two consecutive characters from the string ss and you are wondering how many different strings can be obtained after such an operation.

For example, Dmitry has a string "aaabcc". You can get the following different strings: "abcc"(by deleting the first two or second and third characters), "aacc"(by deleting the third and fourth characters),"aaac"(by deleting the fourth and the fifth character) and "aaab" (by deleting the last two).

输入格式

The first line of input data contains a single integer tt ( 1t1041 \le t \le 10^4 ) — number of test cases.

The descriptions of the test cases follow.

The first line of the description of each test case contains an integer nn ( 3n21053 \le n \le 2 \cdot 10^5 ).

The second line of the description of each test case contains a string ss of length nn consisting of lowercase Latin letters.

It is guaranteed that the sum of nn for all test cases does not exceed 21052 \cdot 10^5 .

输出格式

For each test case print one integer — the number of distinct strings that can be obtained by removing two consecutive letters.

输入输出样例

  • 输入#1

    7
    6
    aaabcc
    10
    aaaaaaaaaa
    6
    abcdef
    7
    abacaba
    6
    cccfff
    4
    abba
    5
    ababa

    输出#1

    4
    1
    5
    3
    3
    3
    1

说明/提示

The first example is explained in the statement.

In the third example, the following strings are obtained: "cdef", "adef", "abef", "abcf", "abcd".

In the seventh example, any deletion will result in the string "aba".

首页