#4212. 网站密码(23-6三级)
网站密码(23-6三级)
【问题描述】
- 网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。
- 合法的密码只能由a-z之间26个小写字母、A-Z之间26个大写字母、0-9之间10 个数字以及!@#$四个特殊字母构成。
- 密码最短长度:6个字符,密码最大长度:12个字符。
- 大写字母、小写字母和数字必须有其中两种,以及至少有四个特殊字符中的一个。
【输入描述】
- 输入以英文逗号分隔的多个字符组合作为被检测密码。输入时的逗号都作为分隔符, 不被视作检验密码本身。
- 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所 有input**()**函数不可有提示信息。
【输出描述】
- 逐行输出0个或多个合规的密码。
- 输出顺序以输入字符串出现先后为序,即先出现则先输出。
【样例输入1】
seHJ12!@,sjdkffH$123,sdf!@^&12 HDH,123&^YUhg@!
【样例输出1】
seHJ12!@
sjdkffH$123
【题目大意】
求有效密码问题,输入多个密码,每组密码之间用逗号隔开,判断密码是否合规,输出合规密码。
【解题思路】
本题主要考察字符串的遍历以及ASCII码的转换内容。
- 首先输入多组密码,以逗号隔开,拆分出一个个独立的密码。
- 遍历拆分后的列表,对遍历出的每一个字符串再次进行遍历,根据ASCII码的转换,分别求出小写字母、大写字母、数字、规定字符和其他字符的个数。3. 根据求出来的个数确定密码里包含的字符种类,判断是否合规。
- 按照要求完成输出。
Limitation
1s, 1024KiB for each test case.