1 条题解

  • 0
    @ 2025-7-6 9:19:02
    #include <bits/stdc++.h>
    using namespace std;
    string s, t;
    // 检测 t 是否合法,如果合法就输出
    void work()
    {
        if (t.size() < 6 || t.size() > 12)
            return;
        int cnta, cntA, cnt0, cnt_;
        cnta = cntA = cnt0 = cnt_ = 0;
        for (int i = 0; i < t.size(); i++)
        {
            if ('a' <= t[i] && t[i] <= 'z')
                cnta++;
            else if ('A' <= t[i] && t[i] <= 'Z')
                cntA++;
            else if ('0' <= t[i] && t[i] <= '9')
                cnt0++;
            else if (t[i] == '!' || t[i] == '@' || t[i] == '#' || t[i] == '$')
                cnt_++;
            else
                return;
        }
        int num = (cnt0 > 0) + (cnta > 0) + (cntA > 0);
        if (num >= 2 && cnt_ > 0)
            cout << t << "\n";
    }
    int main()
    {
        cin >> s;
        s = s + ",";
        t = "";
        for (int i = 0; i < s.size(); i++)
        {
            if (s[i] == ',')
            {
                work();
                t = "";
            }
            else
                t = t + s[i];
        }
    
        return 0;
    }
    
    • 1

    信息

    ID
    10865
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    2
    已通过
    2
    上传者