标签:
HDOJ题目地址:传送门
3 a1b2c3d4 Linle@ACM ^~^@^@!%
NO YES NO
#include<stdio.h>
#include<string.h>
#include<map>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n,flag_len,flag_int,flag_A,flag_a,flag_special,flag;
string s;
cin>>n;
getchar();
while(n--){
flag=0;
flag_len=0;//长度
flag_int=0;//数字
flag_A=0;//大写字母
flag_a=0;//小写字母
flag_special=0;//特殊字符
getline(cin,s);
if(s.size()>=8&&s.size()<16){
flag_len=1;
}
for(int i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9'){
flag_int=1;
}
if(s[i]>='a'&&s[i]<='z'){
flag_a=1;
}
if(s[i]>='A'&&s[i]<='Z'){
flag_A=1;
}
if(s[i]=='~'||s[i]=='!'||s[i]=='@'||s[i]=='#'||
s[i]=='$'||s[i]=='%'||s[i]=='^'){
flag_special=1;
}
if(flag_len&&((flag_int+flag_A+flag_a+flag_special)>=3)){
flag=1;
break;
}
}
if(flag){
printf("YES\n");
}else{
printf("NO\n");
}
}
}
标签:
原文地址:http://blog.csdn.net/qq_26891045/article/details/52065179