HJ20 密码验证合格程序

复制代码

#include<bits/stdc++.h>
using namespace std;
string Password(string str) {
int len = str.size();
int a[4] = {0};
int count = 0;
int num = 0;//重复子串对数
for (int i = 0; i < len; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') a[0] = 1;
else if (str[i] >= 'a' && str[i] <= 'z') a[1] = 1;
else if (str[i] >= '0' && str[i] <= '9') a[2] = 1;
else a[3] = 1;

}
for (int i = 0; i < 4; i++) {
if (a[i] == 1) count++;
}
for (int i = 0; i <= len - 6; i++ ) {
//两个循环相当于有两个框第一个框从0开始大小为3,
//第二个框 从3开始大小为3 第二个框若不同则右移一格在比,
//若到头,则第一个框右移一格同时第二个框从4开始
for (int j = i + 3; j <= len - 3; j++) {
if (str[i] == str[j] && str[i + 1] == str[j + 1] && str[i + 2] == str[j + 2]) {

// cout<<str[i]<<str[j]<<str[i+1]<<str[i+2]<<str[j+2]<<num<<" ";
num++;
}
if (num != 0) break;
}
if (num != 0) break;
}
// cout<<len<<"*"<<count<<"*"<<num<<endl;
if (len > 8 && count > 2 && num == 0) return "OK";
else if (len < 8 || count < 2 || num > 0) return "NG";
else return "sd";
}
int main() {
string str;
while (cin >> str) {
cout << Password(str) << endl;
}
return 0;
}

复制代码
posted @   Dsad123FFFG6645  阅读(150)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示