#4052. [GESP2512 三级] 密码强度

[GESP2512 三级] 密码强度

密码强度

题目描述

⼩杨是学校⽹络安全⼩组的成员,今天他的任务是设计⼀个“密码强度检测器”,帮助同学们检查⾃⼰的密码是否⾜ 够安全。⼀个安全的密码需要满⾜以下条件: 密码⾄少包含8个字符(太短的密码容易被猜出来哦!)。 密码⾄少包含⼀个⼤写字母(A、B、C、...、Z 都可以)。 密码⾄少包含⼀个数字(0、1、2、3、...、9 都可以)。 例如: 密码 PAs1s2an 是安全密码(有8位、包含⼤写字母 P、A 和数字 1、2)。 密码 ab1da3cd 不是安全密码(没有⼤写字母)。 密码 Paabdbcd 不是安全密码(没有数字)。 密码 Pa2 不是安全密码(只有3位,太短了)。

输入格式

第⼀⾏⼀个正整数 ,代表需要安全检测的密码组数。 对于每组密码,⼀⾏包含⼀个字符串,代表需要安全检测的密码。

输出格式

对于每组密码,输出⼀⾏,如果满⾜强度要求输出 Y,否则输出 N。

样例输入 #1

6
PAs1s2an
1a2bCql3
Pa12bsna
ab1da3cd
Paabdbcd
Pa2

样例输出 #1

Y
Y
Y
N
N
N

样例解释 #1

密码 PAs1s2an 是安全密码(有8位、包含⼤写字母 P、A 和数字 1、2)。 密码 1a2bCql3 是安全密码(有8位、包含⼤写字母 C 和数字 1、2、3)。 密码 Pa12bsna 是安全密码(有8位、包含⼤写字母 P 和数字 1、2)。 密码 ab1da3cd 不是安全密码(没有⼤写字母)。 密码 Paabdbcd 不是安全密码(没有数字)。 密码 Pa2 不是安全密码(只有3位,太短了)。

数据范围

对于所有测试点,保证 ,并且每组密码长度不超过 且⾄少为 ,每组密码仅由⼤⼩写字母和数字组 成。

知识点与难度

本题涉及的知识点从属于 GESP 3级,难度等级:⭐⭐ 。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 / 特殊性质
2 15 9~11 Hack
3 30 12~20 中大规模
4 25 21~25 随机回归

生测试数据后,按实际 subtask 分组改写上表。