#B1014. 【ZCX-002-DIV2】B.回文串
【ZCX-002-DIV2】B.回文串
题目描述
给定一个长度为 的字符串 ,由小写英文字母组成,以及一个整数 。
你需要判断:是否可以 恰好删除 个字符,使得剩下的字符经过任意重排后,可以构成一个回文串。
注意: 删除后剩余的字符可以任意重新排列。
回文串定义
回文串是指正读和反读都相同的字符串。
例如:
- 是回文串:
"z","aaa","aba","abccba" - 不是回文串:
"codeforces","reality","ab"
输入格式
第一行一个整数 (),表示测试用例数量。
接下来每个测试用例包含:
- 第一行两个整数 (),表示字符串长度和需要删除的字符数。
- 第二行一个长度为 的字符串 ,仅由小写字母组成。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例:
- 如果可以通过删除恰好 个字符,使剩余字符可以重排成回文串,输出
"YES" - 否则输出
"NO"
输入输出样例
14
1 0
a
2 0
ab
2 1
ba
3 1
abb
3 2
abc
6 2
bacacd
6 2
fagbza
6 2
zwaafa
7 2
taagaak
14 3
ttrraakkttoorr
5 3
debdb
5 4
ecadc
5 3
debca
5 3
abaac
YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES
说明
- 第一个测试用例:无需删除,字符串
"a"本身就是回文串。 - 第二个测试用例:无法删除字符,
"ab"和"ba"都不是回文串。 - 第三个测试用例:删除任意一个字符,剩余字符串一定是回文串。
- 第四个测试用例:删除一个
'a',得到"bb",是回文串。 - 第六个测试用例:删除
'b'和'd',得到"acac",可重排为"acca"。 - 第九个测试用例:删除
't'和'k',得到"aagaa",是回文串。
相关
在下列比赛中: