http://acm.hdu.edu.cn/showproblem.php?pid=2043
#include <iostream>
using namespace std;
int main()
{
char ch[50];
int M;
bool flag1,flag2,flag3,flag4;
cin>>M;
while(M--){
cin>>ch;
flag1=0;
flag2=0;
flag3=0;
flag4=0;
int len=strlen(ch);
if(len>16||len<8){
cout<<"NO"<<endl;
continue;
}
for(int i=0;i<len;i++){
if(ch[i]>='A'&&ch[i]<='Z') flag1=1;
else if(ch[i]>='a'&&ch[i]<='z') flag2=1;
else if(ch[i]>='0'&&ch[i]<='9') flag3=1;
else flag4=1; //if(ch[i]=='~'||ch[i]=='!'||ch[i]=='@'||ch[i]=='#'||ch[i]='$'||ch[i]=='%'||ch[i]=='^')
}
/*
cout<<"\t"<<flag1<<" "<<flag2<<" "<<flag3<<" "<<flag4<<endl;*/
if(flag1+flag2+flag3+flag4>=3) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
本文介绍了一个简单的密码强度验证算法,该算法通过检查密码长度及是否包含大写字母、小写字母、数字和特殊字符来判断密码强度。若密码长度在8到16个字符之间且至少包含三类字符,则认为密码强度足够。
1665

被折叠的 条评论
为什么被折叠?



