1 条题解
-
0
G3021 [GESP202512 三级] 密码强度 题解
知识点:字符串、字符分类、规则校验。
解题思路
扫描字符串标记是否含大写字母、是否含数字,再合并长度至少8的条件,满足输出Y,否则N。
为什么正确
三个条件分别对应题目强密码要求,全部成立才符合定义。
易错点
输出Y/N,不是Yes/No;不额外要求小写或特殊字符。
复杂度
时间O(总字符数),空间O(单串长度)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin>>t; while(t--) { string s; cin>>s; bool up=false,dig=false; for(char c:s) { up|=c>='A'&&c<='Z'; dig|=c>='0'&&c<='9'; } cout<<(s.size()>=8&&up&&dig?"Y":"N")<<"\n"; } }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用6个自行生成的测试点。
- 1