P16877 [GKS 2022 #C] New Password
题目描述
一家名为 Gooli 的公司发布了一项新政策,要求员工账户密码必须满足:
1. 至少包含 $7$ 个字符。
2. 至少包含一个大写英文字母。
3. 至少包含一个小写英文字母。
4. 至少包含一个数字。
5. 至少包含一个特殊字符。共有 $4$ 个特殊字符:`#`、`@`、`*` 和 `&`。
公司要求所有员工在密码不满足上述要求时进行更改。Charles 是 Gooli 的一名员工,他非常喜欢自己的旧密码。如果他的旧密码不满足上述要求,Charles 将通过添加字母、数字和特殊字符来修复它。你能帮助 Charles 找到满足公司要求的最短可能的新密码吗?
输入格式
输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。每个测试用例由 $2$ 行组成。每个测试用例的第一行包含一个整数 $N$,表示旧密码的长度。每个测试用例的第二行包含长度为 $N$ 的旧密码。旧密码仅包含数字、字母和特殊字符。
输出格式
对于每个测试用例,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是一个有效的新密码,该密码通过可能修复旧密码的方式获得,并满足公司的要求。
保证至少存在一个解。如果有多个解,你可以输出其中任意一个。
说明/提示
在样例 #1 中,旧密码不满足要求 $2$、$3$ 和 $5$。一种可能的最短新密码是 `1234567aA&`。
在样例 #2 中,旧密码不满足要求 $2$、$3$ 和 $5$。一种可能的最短新密码是 `1111234567@Rc`。
### 限制条件
$1 \le T \le 100$。
**测试集 1**
$7 \le N \le 10^4$。
旧密码仅包含数字。
**测试集 2**
$1 \le N \le 10^4$。
旧密码仅包含数字、字母和特殊字符。
翻译由 DeepSeek V4 Pro 完成