题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
#include <iostream>
#include <string>
using namespace std;
bool solve(string s){
if(s.size()<=8){
return false;
}
int a[4]={0};
for(auto x : s){
if(x>='a'&&x<='z'){
a[0]=1;
}else if(x>='A'&& x <='Z'){
a[1]=1;
}else if(x>='0'&& x <='9'){
a[2]=1;
}else {
a[3]=1;
}
}
int count =0;
for(auto x : a){
if(x==1){
count ++;
}
}
for(int i=0;i<=s.size()-6;i++){
for(int j=i+3;j<=s.size()-3;j++){
if(s[i]==s[j]&&s[i+1]==s[j+1]&&s[i+2]==s[j+2]){
return false;
}
}
}
if (count>=3){
return true;
}
return false;
}
int main(){
string s;
while(cin>>s){
bool res=solve(s);
if(res == false){
cout<< "NG" << endl;
}else{
cout<< "OK" << endl;
}
}
}
随便写写玩儿,有点暴力
查看20道真题和解析