【10.17 牛客普及(一)】 牛牛的密码 题解

题目

牛牛在注册不同的网站时,总是会使用不同的密码来保证他的账号安全。
为了保证他的密码强度,牛牛使用他的“字符串筛选器”来测试密码的强度。
具体来说,他先将输入的字符串筛选分成四部分。

第一部分仅由小写英文字母组成
第二部分仅由大写英文字母组成
第三部分仅由0到9的数字组成
第四部分由其余特殊字符组成

这四部分要保留它们在原字符串中的相对顺序。
比如将"1q2w3ER5{6}“这个字符串进行筛选后
四部分分别为:“qw”、“ER”、“123456”、”{}"。
然后只要某一部分不为空,牛牛就认为他的密码等级高1级。
密码等级最低为1级,最高4级。
例如" asdA@123"的密码等级为4,"20020101"的密码等级为1。

请帮助牛牛判断他注册账号时的密码等级,以及该密码做字符串筛选后的结果。


输入

仅一行一个字符串 s s s,表示牛牛的密码。


输出

首先输出一行" p a s s w o r d password password l e v e l level level: X X X", X X X表示牛牛的密码等级,最低为1级,最高4级。
接下来输出4行,表示四部分的筛选结果,输出时要注意保留它们在原字符串中的相对顺序,如果某一部分为空串,则改为在该行输出"( N u l l Null Null)"。


样例

input 1
123456

output 1
password level:1
(Null)
(Null)
123456
(Null)

output 1
Pass_Word

output 2
password level:3
assord
PW
(Null)
_


数据范围

对于20%的测试数据,保证仅有小写英文字母组成,且1≤∣ s s s∣≤100
对于40%的测试数据,保证仅有大小写英文字母组成,且1≤∣ s s s∣≤100
对于100%的测试数据,保证字符串是不含空格、回车、或者其他不可见字符的非空字符串,且保证字符串长度1≤∣ s s s∣≤10 4


解题思路

按照题目要求
将一个字符串拆成4个类型不一样的字符串
每个类型不为空则等级+1
按要求输出


代码

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string s,a[10];
int l;
int main()
{getline(cin,s);for (int i=0;i<s.size();i++){if (s[i]>='a'&&s[i]<='z'){a[1]+=s[i];continue;}if (s[i]>='A'&&s[i]<='Z'){a[2]+=s[i];continue;}if (s[i]>='0'&&s[i]<='9'){a[3]+=s[i];continue;}a[4]+=s[i];}for (int i=1;i<=4;i++)if (a[i]!="")l++;printf("password level:%d\n",l);for (int i=1;i<=4;i++)if (a[i]!="")cout<<a[i]<<endl;else printf("(Null)\n");return 0;
} 

【10.17 牛客普及(一)】 牛牛的密码 题解相关推荐

  1. 【2020.10.17 牛客 普及组 模拟赛一】T2 牛牛的跳跳棋

    题目描述 牛牛最近在玩一种叫做跳跳棋的游戏,棋盘可以看成是一个一维的线性数组,编号从1到n+1n+1n+1. 一开始牛牛的棋子位于第1个格子,游戏的最终目的是将棋子移动到第n+1n+1n+1个格子. ...

  2. 【10.22 牛客普及(三)】 牛半仙的妹子串 题解

    [10.22 牛客普及(三)] 牛半仙的妹子串 题解 题目 牛半仙有 n n n 个妹子. 牛半仙用对于每个妹子都有一个名字,并且给了每个妹子一个评分. 牛半仙的审美与名字有关,他想知道名字以某字母结 ...

  3. Java面试题17 牛客 下面哪个选项正确创建socket连接?

    Java面试题17 牛客 下面哪个选项正确创建socket连接? Socket s = new Socket(8080); Socket s = new Socket("192.168.1. ...

  4. 牛客题霸 [ 大数乘法] C++题解/答案

    牛客题霸 [ 大数乘法] C++题解/答案 题目描述 以字符串的形式读入两个数字,编写一个函数计算它们的乘积,以字符串形式返回. (字符串长度不大于10000,保证字符串仅由'0'~'9'这10种字符 ...

  5. 牛客题霸 [比较版本号] C++题解/答案

    牛客题霸 [比较版本号] C++题解/答案 题目描述 如果version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0. 输入的ver ...

  6. 牛客题霸 [矩阵查找] C++题解/答案

    牛客题霸 [矩阵查找] C++题解/答案 题目描述 请写出一个高效的在m*n矩阵中判断目标值是否存在的算法,矩阵具有如下特征: 每一行的数字都从左到右排序 每一行的第一个数字都比上一行最后一个数字大 ...

  7. 牛客题霸 [ 大数加法]C++题解/答案

    牛客题霸 [ 大数加法]C++题解/答案 题解: 本质就是模拟加法运算 想要让s与t长度统一,不足的部分用0来补充 然后从最后一位开始,两个数相加,同时如果超过10,就把多的部分加到下一位 其实就是我 ...

  8. 牛客题霸 [ 寻找峰值] C++题解/答案

    牛客题霸 [ 寻找峰值] C++题解/答案 题目描述 山峰元素是指其值大于或等于左右相邻值的元素.给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个山峰.找到索引最大的那个山峰元素并 ...

  9. 牛客题霸 [ 孩子们的游戏] C++题解/答案

    牛客题霸 [ 孩子们的游戏] C++题解/答案 题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样 ...

最新文章

  1. 【Kali渗透全方位实战】Metasploitable2系统介绍
  2. 快速排序(quick sort) C++
  3. django3.2.8使用simpleui注意事项
  4. 关于spark的mllib学习总结(Java版)
  5. C语言 extern - C语言零基础入门教程
  6. JavaScript程序开发(十四)—函数声明与函数表达式
  7. 六个 Linux性能监控命令行工具
  8. 华为P50 Pro/Pro+更多细节曝光:6.7寸120Hz单孔屏 比前作更轻薄
  9. WebSocket的实现原理?为什么可以实现持久连接?
  10. MySQL使用中的问题 ---- (ERROR 3009)
  11. PN结/三极管/MOSFET理解
  12. OpenCC的编译与多语言使用
  13. youtube下载助手 firefox插件
  14. watch监听的几个方法
  15. 一线城市上海的户口有多好?
  16. IMX6ULL 基于NXP官方Linux源码添加自己单板
  17. 【javascript】class的继承之super的使用
  18. 山东省创新型中小企业认证解读
  19. Opserver 初探三《服务器数据监控》
  20. Windows消息处理

热门文章

  1. 一文教会你何为重绘、回流?
  2. 换个角度看NFT:一种新型的社交网络
  3. php正则表达式 定界符,PHP正则表达式之定界符和原子介绍
  4. 映射网络驱动器共享网络硬盘
  5. 泰拉瑞亚 Terraria
  6. 10 分钟搭建一个超好用的 CMDB 系统
  7. thinkpad E40 备份系统
  8. Liblinear机器学习库教程详解(基于Python API)
  9. 摸爬滚打DirectX11_day03——如何获取每秒帧数(FPS)
  10. 用gcc编译生成动态链接库*.so文件的方法