#include<iostream>
using namespace std;
bool judge(string code)
{
int cnt[4]={0},i;
if(code.length()>=8&&code.length()<=16)
{
for(i=0; i<code.length(); i++)
{
if(code[i]>='A'&&code[i]<='Z')
cnt[0]=1;
if(code[i]>='a'&&code[i]<='z')
cnt[1]=1;
if(code[i]>='0'&&code[i]<='9')
cnt[2]=1;
if(code[i]=='~'||code[i]=='!'||code[i]=='@'||code[i]=='#'||code[i]=='$'||code[i]=='%'||code[i]=='^')
cnt[3]=1;
}
if(cnt[0]>=1&&cnt[1]>=1&&cnt[2]>=1)
return true;
if(cnt[0]>=1&&cnt[1]>=1&&cnt[3]>=1)
return true;
if(cnt[0]>=1&&cnt[2]>=1&&cnt[3]>=1)
return true;
if(cnt[2]>=1&&cnt[1]>=1&&cnt[3]>=1)
return true;
if(cnt[0]>=1&&cnt[1]>=1&&cnt[3]>=1&&cnt[2]>=1)
return true;
else return false;
}
}
int main()
{
string code; //或char code[1000];
int num;
cin>>num;
for(int i = 0; i < num; i++)
{
cin>>code;
if(judge(code)) cout<<1<<endl;
else cout<<0<<endl;
}
return 0;
}
东华OJ | 密码安全性判断
最新推荐文章于 2024-07-04 16:16:29 发布