AcWing 3645. 安全密码
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
const int N = 1e6+10;
int t,n,m,k,l,r,op,x,y;
int f[N];
bool flag;
string str;
unordered_set<char> st;
void solve(){
st.insert('~');
st.insert('!');
st.insert('@');
st.insert('#');
st.insert('$');
st.insert('%');
st.insert('^');
while(cin>>str){
flag = false;
if(str.size()<8){
flag = true;
cout<<"NO"<<"\n";
continue;
}
bitset<5> bit;
for(char &ch:str){
if(ch>='A'&&ch<='Z')bit[1]=true;
else if(ch>='a'&&ch<='z')bit[2]=true;
else if(ch>='0'&&ch<='9')bit[3]=true;
else if(st.count(ch))bit[4]=true;
}
if(bit.count()<3){
cout<<"NO";
}else{
cout<<"YES";
}
cout<<"\n";
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
solve();
return 0;
}