【CSP CCF记录】202409-1第35次认证 密码

题目

样例输入

4

csp#ccsp

csp#ccsp2024

Csp#ccsp2024

CSP#2024

样例输出

0

1

2

2

代码

一道简单题,分情况讨论即可。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        string codes;
        cin>>codes;
        int l=0;//用于标记安全度,默认为0 
        map<char, int> m;//用于标记一个字符出现次数 
        int a=0,b=0,c=0,d=0;//分别用于标记是否有字母、数字和特殊字符,同一个字符出现次数是否超过2;
        for(int j=0;j<codes.size();j++)
        {
            char ch=codes[j]; 
            m[ch]++;
            if (isalpha(ch))
                a= 1;
            else if (isdigit(ch)) 
                b= 1;
            else 
                c= 1;
            if(m[ch]>2)
            {
                d=1;
            }
        }
        if(a==1&&b==1&&c==1&&d==1)
        {
            l=1;
        }else if(a==1&&b==1&&c==1&&d==0){
            l=2;
        }
        cout<<l<<endl;	
    }
    return 0;
}

结果

相关推荐
码爸13 小时前
线性回归算法
算法·机器学习·线性回归
Coder-magician14 小时前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论
Nil20814 小时前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b14 小时前
算法日常・每日刷题--<动态规划>20
算法·leetcode·动态规划
别动我齐刘海15 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
程序员老陆15 小时前
C++ std::promise深度解析
c++·程序设计
青少儿编程课堂15 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
不会就选b15 小时前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
沫璃染墨17 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss