CF844A Diversity

题目描述

计算你需要在字符串 $s$ 中最少更改多少个字符,使得该字符串至少包含 $k$ 个不同的字母;如果无法实现,则输出“impossible”。 字符串 $s$ 只包含小写拉丁字母,并且只允许将字符更改为其他小写拉丁字母。

输入格式

输入的第一行包含一个仅由小写拉丁字母组成的字符串 $s$,其中 $1 \leq |s| \leq 1000$,$|s|$ 表示 $s$ 的长度。 输入的第二行包含一个整数 $k$,其中 $1 \leq k \leq 26$。

输出格式

输出一行,包含所需更改的最小次数。如果不可能,则输出“impossible”。

说明/提示

在第一个测试用例中,字符串包含 $6$ 个不同的字母,所以不需要进行任何更改。 在第二个测试用例中,字符串包含 $4$ 种不同的字母:$\{'a','h','o','y'\}$。要获得 $5$ 个不同的字母,需要将出现的某一个 $'o'$ 改为字符串中不存在的字母,比如 $\{'b'\}$。 在第三个测试用例中,不可能让字符串包含 $7$ 个不同的字母,因为字符串的长度只有 $6$。 由 ChatGPT 5 翻译