4542:[GESP202512三级] 密码强度

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1 解决:0

题目描述

## 题目背景 2025 年 12 月 GESP C++ 三级编程第 1 题 ## 题目描述 小杨是学校网络安全小组的成员,今天他的任务是设计一个“密码强度检测器”,帮助同学们检查自己的密码是否足够安全。一个安全的密码需要满足以下条件: - 密码至少包含 $8$ 个字符(太短的密码容易被猜出来哦!)。 - 密码至少包含一个大写字母(A、B、C、...、Z 都可以)。 - 密码至少包含一个数字(0、1、2、3、...、9 都可以)。 例如: - 密码 `Paas1s2an` 是安全密码(有 $8$ 位、包含大写字母 `P`、`A` 和数字 `1`、`2`)。 - 密码 `ab1da3cd` 不是安全密码(没有大写字母)。 - 密码 `Paabdbcd` 不是安全密码(没有数字)。 - 密码 `Pa2` 不是安全密码(只有 $3$ 位,太短了)。 ## 输入格式 第一行一个正整数 $T$,代表需要安全检测的密码组数。 对于每组密码,一行包含一个字符串,代表需要安全检测的密码。 ## 输出格式 对于每组密码,输出一行,如果满足强度要求输出 Y,否则输出 N。 ## 样例 ```input1 6 PAs1s2an 1a2bCql3 Pa12bsna ab1da3cd Paabdbcd Pa2 ``` ```output1 Y Y Y N N N ``` ## 样例解释 - 密码 `PAs1s2an` 是安全密码(有 $8$ 位、包含大写字母 `P`、`A` 和数字 `1`、`2`)。 - 密码 `1a2bCq13` 是安全密码(有 $8$ 位、包含大写字母 `C` 和数字 `1`、`2`、`3`)。 - 密码 `Pa12bsna` 是安全密码(有 $8$ 位、包含大写字母 `P` 和数字 `1`、`2`)。 - 密码 `ab1da5cd` 不是安全密码(没有大写字母)。 - 密码 `Paabdbcd` 不是安全密码(没有数字)。 - 密码 `Pa2` 不是安全密码(只有 $3$ 位,太短了)。 ## 数据范围 对于所有测试点,保证 $1 \leq T \leq 100$,并且每组密码长度不超过 $100$ 且至少为 $1$,每组密码仅由大小写字母和数字组成。

来源/分类