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$,每组密码仅由大小写字母和数字组成。