牛牛的密码

牛牛的密码

https://ac.nowcoder.com/acm/contest/7604/A

题目

为了保证他的密码强度,牛牛使用他的“字符串筛选器”来测试密码的强度。

具体来说,他先将输入的字符串筛选分成四部分。

第一部分仅由小写英文字母组成

第二部分仅由大写英文字母组成

第三部分仅由0到9的数字组成

第四部分由其余特殊字符组成

这四部分要保留它们在原字符串中的相对顺序。

比如将"1q2w3E4R5{6}"这个字符串进行筛选后

四部分分别为:"qw"、"ER"、"123456"、"{}"。

然后只要某一部分不为空,牛牛就认为他的密码等级高1级。

密码等级最低为1级,最高4级。

例如,"asdA@123"的密码等级为4,"20020101"的密码等级为1。

请判断密码等级,输出该密码做字符串筛选后的结果。

解题思路

遍历密码字符串中的字符,模拟题意中的字符串筛选器进行筛选,最后输出结果。

C++代码

#include<iostream>
#include<vector>
using namespace std;

int main(){
    string s;
    cin >> s;
    vector<string> t(4, "");
    for(auto c : s){
        if(c>='a' && c<='z') t[0] += c;
        else if(c>='A' && c<='Z') t[1] += c;
        else if(c>='0' && c<='9') t[2] += c;
        else t[3] += c;
    }
    int level = 0;
    for(int i=0; i<4; ++i){
        if(t[i]=="") t[i]="(Null)";
        else ++level;
    }
    cout << "password level:" << level << endl;
    for(int i=0; i<4; ++i)
        cout << t[i] << endl;
    return 0;
}
全部评论

相关推荐

头像
11-26 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务