Codeforces Round 855 (Div. 3) |
---|
Закончено |
У Дмитрия есть строка $$$s$$$, состоящая из строчных латинских букв.
Дмитрий решил удалить два подряд идущих символа из строки $$$s$$$ и вам интересно, какое количество различных строк может получиться после такой операции.
Например, у Дмитрия есть строка «aaabcc». Вы можете получить следующие различные строки: «abcc»(при удалении первых двух или второго и третьего символов), «aacc»(при удалении третьего и четвёртого символов),«aaac»(при удалении четвертого и пятого символов) и «aaab»(при удалении последних двух).
Первая строка входных данных содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Далее следуют описания входных данных.
Первая строка описания каждого набора входных данных содержит целое число $$$n$$$ ($$$3 \le n \le 2 \cdot 10^5$$$).
Вторая строка описания каждого набора входных данных содержит строку $$$s$$$ длины $$$n$$$, состоящую из строчных латинских букв.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число — количество различных строк, которые можно получить, удалив две подряд идущие буквы.
76aaabcc10aaaaaaaaaa6abcdef7abacaba6cccfff4abba5ababa
4 1 5 3 3 3 1
Первый пример разобран в условии.
В третьем примере получатся следующие строки: «cdef», «adef», «abef», «abcf», «abcd».
В седьмом примере при любом удалении получится строка «aba».
Название |
---|