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;
}