6032 - 密码强度

题目描述

小杨是学校网络安全小组的成员,今天他的任务是设计一个“密码强度检测器”,帮助同学们检查自己的密码是否足够安全。一个安全的密码需要满足以下条件:

  • 密码至少包含 8 个字符(太短的密码容易被猜出来哦!)。
  • 密码至少包含一个大写字母(A、B、C、...、Z 都可以)。
  • 密码至少包含一个数字(0、1、2、3、...、9 都可以)。

例如:

  • 密码 PAs1s2an 是安全密码(有 8 位、包含大写字母 PA 和数字 12)。
  • 密码 ab1da3cd 不是安全密码(没有大写字母)。
  • 密码 Paabdbcd 不是安全密码(没有数字)。
  • 密码 Pa2 不是安全密码(只有 3 位,太短了)。
输入

第一行一个正整数 T,代表需要安全检测的密码组数。

对于每组密码,一行包含一个字符串,代表需要安全检测的密码。

输出

对于每组密码,输出一行,如果满足强度要求输出 Y,否则输出 N。

样例

输入

6
PAs1s2an
1a2bCql3
Pa12bsna
ab1da3cd
Paabdbcd
Pa2

输出

Y
Y
Y
N
N
N
说明

样例解释

  • 密码 PAs1s2an 是安全密码(有 8 位、包含大写字母 PA 和数字 12)。
  • 密码 1a2bCq13 是安全密码(有 8 位、包含大写字母 C 和数字 123)。
  • 密码 Pa12bsna 是安全密码(有 8 位、包含大写字母 P 和数字 12)。
  • 密码 ab1da5cd 不是安全密码(没有大写字母)。
  • 密码 Paabdbcd 不是安全密码(没有数字)。
  • 密码 Pa2 不是安全密码(只有 3 位,太短了)。

数据范围

对于所有测试点,保证 1 \leq T \leq 100,并且每组密码长度不超过 100 且至少为 1,每组密码仅由大小写字母和数字组成。

来源

GESP 2025年12月认证 C++3级真题

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 36
通过人数 26
金币数量 0 枚
难度 入门


上一题 下一题