QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 1024 MB 총점: 50

#15359. 密码检查

통계

都柏林城市大学(Dublin City University)希望阻止学生和教职员工使用弱密码。安全部门委托你编写一个程序,用于检查某些密码是否满足密码指南委员会(Password Guidelines Council)定义的所有质量要求。

这些要求如下。如果一个密码具备以下属性,则被认为是足够强度的:

  • 至少包含一个小写字母。
  • 至少包含一个大写字母。
  • 至少包含一个数字。
  • 至少包含一个来自集合 +_)(*&^%$#@!./,;{} 中的符号。
  • 最小长度为 12。

示例:

  • 密码 "Aa1_"(不含引号)满足前 4 个要求,但其长度小于 12。
  • 密码 "Aa1234567890_" 完全符合要求。

输入格式

在每个测试用例中,你需要处理一批密码。

第一行包含一个整数 $N$,表示要处理的密码数量。

每个密码将占两行。第一行包含一个整数 $S$,表示密码的长度。第二行包含一个长度为 $S$ 的字符序列,即待检查的密码。

密码仅包含字母 az(包括大写和小写)、数字 09 以及以下符号:+_)(*&^%$#@!./,;{}(不含引号)。

密码的最大长度为 30 个字符。每个测试用例最多包含 100 个待处理的密码。

输出格式

对于每个密码,如果该密码满足质量要求,则输出一行单词 valid,否则输出 invalid

样例

输入样例 1

2
4
Aa1_
13
Aa1234567890_

输出样例 1

invalid
valid

输入样例 2

5
18
UtQ.iNlLgT;{f,.GR!
29
yr)Z,pHQ+No,ZfP_z12D2l1*MSTfk
23
.p7hV/Es^aahW%B.1JJouO;
9
c7V!*$1lW
26
a^pBAAxCohQlBv7qDpVeOB%Min

输出样例 2

invalid
valid
valid
invalid
valid

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.