题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

#include <bits/stdc++.h>
#include <cctype>
#include <iostream>
using namespace std;
bool is_str(string s) {
    int ans = 0;
    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]))  ans++;
            if (ans != 0) break;
        }
    }
    return ans == 0;
}
int main() {
    string s = "";
    while (cin >> s) {
        int i = 0, s1 = 0, s2 = 0, s3 = 0, s4 = 0, s5 = 0;
        if (s.size() < 8) {
            puts("NG");
            continue;
        }
        for (char c : s) {
            if (c >= 'a' && c <= 'z')s1 = 1;
            else if (c >= '0' && c <= '9')s2 = 1;
            else if (c >= 'A' && c <= 'Z')s3 = 1;
            else if (c == ' ' || c == '\n') s5 = 1;
            else s4 = 1;
        }
        if (s1 + s2 + s3 + s4 < 3) {
            puts("NG");
            continue;
        }
        if (s5 == 1) {
            puts("NG");
            continue;
        }
        if (is_str(s))puts("OK");
        else puts("NG");
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

03-31 00:39
门头沟学院 C++
南岗痞子:不还有俩没结束吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务