P3882.第1题-大小跳
题目内容
我们称一个只包含英文字母的字符串为好,当且仅当它的相邻字符大小写必须不同;等价地,对于任意相邻的一对字符(如果存在),恰有一个为大写字母、另一个为小写字母。
我们称一个字符串为不错,当且仅当对它其中一个字符至多进行一次大小写翻转(也可以不操作)后,能够变成一个好的字符串。
现在,给定 n 个字符串,请统计其中好的字符串数量,以及不错的字符串数量。
输入描述
第一行输入一个数 n(1≤n≤2×104),表示字符串的个数。
此后共 n 组数据,每组两行:
第一行输入一个整数 m(1≤m≤10) ,表示字符串长度;
第二行输入一个长度为 m 的字符串 s ,仅由大小写英文字母组成。
输出描述
在一行上输出两个整数,分别表示好的字符用数量与不错的字符串数量,中间用一个空格隔开。
样例1
输入
5
1
a
2
Aa
2
AA
3
abc
4
aBCd
输出
2 4
说明
-
"a"本身相邻位置不存在,视为满足相邻大小写交替,因此是好串
-
"Aa"相邻对为大写-小写,故是好串;
-
“AA"不是好串,但翻转任意一个字符可得"Aa"或"aA”,因此是不错;
-
"abc"不是好串,但将中间的 b 翻转为 B 可得"aBc”,因此是不错;
-
"aBCd"至少需要翻转两处才能成为好串,因此不是不错。
最终好串数量为 2 ,不错数量为 4 。