#4212. 网站密码(23-6三级)

网站密码(23-6三级)

【问题描述】

  1. 网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。
  2. 合法的密码只能由a-z之间26个小写字母、A-Z之间26个大写字母、0-9之间10 个数字以及!@#$四个特殊字母构成。
  3. 密码最短长度:6个字符,密码最大长度:12个字符。
  4. 大写字母、小写字母和数字必须有其中两种,以及至少有四个特殊字符中的一个。

【输入描述】

  1. 输入以英文逗号分隔的多个字符组合作为被检测密码。输入时的逗号都作为分隔符, 不被视作检验密码本身。
  2. 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所 inpu​​t​​**(​)​**函数不可有提示信息。

【输出描述】

  1. 逐行输出0个或多个合规的密码。
  2. 输出顺序以输入字符串出现先后为序,即先出现则先输出。

【样例输入1】

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

【样例输出1】

seHJ12!@

sjdkffH$123

【题目大意】

求有效密码问题,输入多个密码,每组密码之间用逗号隔开,判断密码是否合规,输出合规密码。

【解题思路】

本题主要考察字符串的遍历以及ASCII码的转换内容。

  1. 首先输入多组密码,以逗号隔开,拆分出一个个独立的密码。
  2. 遍历拆分后的列表,对遍历出的每一个字符串再次进行遍历,根据ASCII码的转换,分别求出小写字母、大写字母、数字、规定字符和其他字符的个数。3. 根据求出来的个数确定密码里包含的字符种类,判断是否合规。
  3. 按照要求完成输出。

Limitation

1s, 1024KiB for each test case.