题单练习 字符串

A7048 | 变成回文

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定一个只含小写字母的字符串 $s$(长度为 $n$)以及一个整数 $k$。
你可以恰好删除 $k$ 个字符(从任意位置删除),记删除后剩余串的长度为 $n-k$。
你可以任意重排剩余字符。请判断,是否存在一种删除方案,使得重排后可以得到一个回文串。

回文串:正读与反读相同的字符串,例如 "z""aaa""aba""abccba"

输入格式

第一行包含两个整数 $n,k$,表示字符串长度与需要删除的字符个数;
第二行包含一个长度为 $n$ 的字符串 $s$,仅包含小写字母 'a'$\sim$'z'。

输出格式

若可以通过恰好删除 $k$ 个字符,使剩余字符能重排成回文,则输出 YES

否则输出 NO

输入输出样例

输入 #1
2 1
ab
输出 #1
YES
输入 #2
2 0
ab
输出 #2
NO
输入 #3
5 2
aaaab
输出 #3
YES
C++ 编辑器
输入
输出