#L0202. 密码强度检测

密码强度检测

题目背景

某网站要求用户注册时设置密码,系统会自动检测密码是否符合安全规范。小蓝需要写一个程序来批量筛选出满足要求的密码。

题目描述

合规的密码需要同时满足以下全部条件:

  1. 长度在 661212 个字符之间(含两端)。

  2. 每个字符只能是以下四类之一:小写字母 a~z、大写字母 A~Z、数字 0~9、特殊字符 !@#$ 中的任意一个。

  3. 大写字母、小写字母、数字这三类中,至少出现两类。

  4. 四个特殊字符 !@#$ 中,至少出现一个。

输入格式

输入一行不含空格的字符串,长度不超过 100100。该字符串由英文逗号 , 分隔为若干段,每段为一个待检测的密码。

输出格式

输出若干行,每行输出一个合规的密码。按输入中出现的先后顺序输出。

样例

seHJ12!@,sjdkffH$123,sdf!@&12HDHa!,123&^YUhg@!
seHJ12!@

sjdkffH$123

</p>

提示

样例解释

输入被逗号分为四段,依次为第 1 段(长度 8,合规)、第 2 段(长度 11,合规)、第 3 段(长度 13,超限不合规)、第 4 段(含不允许的特殊字符,不合规)。

具体来说:

  • 第 3 段长度超过 12,不合规。
  • 第 4 段包含 ^ 等不在 !@#$ 中的字符,不合规。
难度 普及-
通过率
尝试 0
已通过 0
ID
930
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者