CF1941C.Rudolf and the Ugly String

入门

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Rudolf has a string ss of length nn. Rudolf considers the string ss to be ugly if it contains the substring†^\dagger "pie" or the substring "map", otherwise the string ss will be considered beautiful.

For example, "ppiee", "mmap", "dfpiefghmap" are ugly strings, while "mathp", "ppiiee" are beautiful strings.

Rudolf wants to shorten the string ss by removing some characters to make it beautiful.

The main character doesn't like to strain, so he asks you to make the string beautiful by removing the minimum number of characters. He can remove characters from any positions in the string (not just from the beginning or end of the string).

†^\dagger String aa is a substring of bb if there exists a consecutive segment of characters in string bb equal to aa.

鲁道夫有一个长度为 nn 的字符串 ss。如果字符串 ss 包含子串†^\dagger "pie" 或子串 "map",则鲁道夫认为该字符串是丑陋的;否则,字符串 ss 被视为优美的。

例如,"ppiee"、"mmap"、"dfpiefghmap" 是丑陋的字符串,而 "mathp"、"ppiiee" 是优美的字符串。

鲁道夫希望通过对字符串 ss 删除若干字符来使其变得优美。

主角不喜欢费力,因此他请你通过删除最少数量的字符来使字符串变得优美。你可以从字符串的任意位置(不仅限于开头或结尾)删除字符。

†^\dagger 若字符串 aa 在字符串 bb 中存在一段连续的字符段与之完全相等,则称 aa 是 bb 的一个子串。

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases. The descriptions of the test cases follow.

The first line of each test case contains a single integer nn (1≤n≤1061 \le n \le 10^6) — the length of the string ss.

The next line of each test case contains the string ss of length nn. The string ss consists of lowercase Latin letters.

The sum of nn over all test cases does not exceed 10610^6.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 表示测试用例的数量。随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(1≤n≤1061 \le n \le 10^6)—— 表示字符串 ss 的长度。

每个测试用例的第二行包含一个长度为 nn 的字符串 ss,该字符串由小写拉丁字母组成。

所有测试用例的 nn 值之和不超过 10610^6。

输出格式

For each test case, output a single integer — the minimum number of characters that need to be deleted to make the string ss beautiful. If the string is initially beautiful, then output 00.

对于每个测试用例,输出一个整数——使字符串 ss 变为优美字符串所需删除的最少字符数。如果字符串初始即为优美字符串,则输出 00。

输入输出样例

  • 输入#1

    6
    9
    mmapnapie
    9
    azabazapi
    8
    mappppie
    18
    mapmapmapmapmapmap
    1
    p
    11
    pppiepieeee

    输出#1

    2
    0
    2
    6
    0
    2

说明/提示

In the first test case, for example, you can delete the 44th and 99th characters to make the string beautiful.

In the second test case, the string is already beautiful.

在第一个测试用例中,例如,你可以删除第 44 个和第 99 个字符,使该字符串变得优美。

在第二个测试用例中,该字符串本身已经是优美的。

输入解题思路,AI测评打分。不知道怎么写?

首页