题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
#include <iostream>
using namespace std;
int main() {
string s;
while(cin>>s)
{
bool res=true;
if(s.size()<=8)
{
res=false;
cout<<"NG"<<endl;
continue;
}
int a[4]={0};
for(int i=0;i<s.size();i++)
{
if(s[i]>='0'&&s[i]<='9')
a[0]=1;
else if(s[i]>='a'&&s[i]<='z')
a[1]=1;
else if(s[i]>='A'&&s[i]<='Z')
a[2]=1;
else a[3]=1;
}
if(a[0]+a[1]+a[2]+a[3]<3)
{
res=false;
cout<<"NG"<<endl;
continue;
}
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])
{
res=false;
cout<<"NG"<<endl;
break;
}
}
if(res==false) break;
}
if(res==true) cout<<"OK"<<endl;
}
}
// 64 位输出请用 printf("%lld")

