CSU 1262——安全密码
来源:互联网 发布:手机自动录像软件 编辑:程序博客网 时间:2024/06/04 19:18
网络上各类交易活动越来越普及,为了能够安安心心地上网,经常需要设置一个安全的密码。一般来说一个比较安全的密码至少应该满足下面两个条件:
(1)密码长度大于等于8。
(2)密码中的字符应该来自下面“字符类别”中四组中的至少三组。
这四个字符类别分别为:
(1)大写字母:A,B,C...Z;
(2)小写字母:a,b,c...z;
(3)数字:0,1,2...9;
(4)特殊符号:~,!,@,#,$,%,^;
给你一个密码,你的任务就是判断它是不是一个安全的密码。
输入数据有多组,每组占一行,每行一个密码(长度最大可能为50),密码仅包括上面的四类字符。
对于每个测试实例,判断这个密码是不是一个安全的密码,是的话输出YES,否则输出NO。
a1b2c3d4Linle@ACM^~^@^@!%
NO
YES
NO
分析:一道送分题,先判断长度,长度不小于8时,遍历字符串每个字符,统计所给密码中四种字符的数目,然后判断是否有三种不同的字符存在。
AC代码:
#include <cstdio>#include <string.h> #include <iostream>using namespace std;int main(){#ifdef LOCALfreopen("data.in","r",stdin);freopen("data.out","w",stdout);#endif char s[55]; int a1,a2,a3,a4; while(scanf("%s",s)!=EOF) { a1=0;a2=0;a3=0;a4=0; int l=strlen(s); for(int i=0;i<l;i++) {if(l<8)break;if(s[i]>=65&&s[i]<=90) a1++; else if(s[i]>=97&&s[i]<=122) a2++; else if(s[i]>=48&&s[i]<=57) a3++; else a4++;}if(a1*a2*a3||a1*a2*a4||a1*a3*a4||a2*a3*a4)printf("YES\n");elseprintf("NO\n");}return 0;}
0 0
- CSU 1262——安全密码
- CSU——1009
- coj 1262: 安全密码
- 信息安全——加密与密码安全(一0
- 信息安全——对称密码体制
- 信息安全的核心—密码技术
- CSU-1120——病毒
- CSU 1565 — Word Cloud
- CSU 1562 — Fun House
- CSU 1531 — Jewelry Exhibition
- CSU-1262
- 信息安全的核心——密码技术
- 信息安全——RSA密码系统的实现
- 信息安全——仿射密码的攻击
- 网络安全略谈——你的密码是否安全?
- 20141103 【 信息安全 】 对称密码体系 —— DES 加密算法
- 【项目】——密码输入安全等级显示
- 蓝桥——你的密码安全吗?
- tomcat——容器
- iOS开发NSNotification(通知)的正向传值
- 解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
- Android开发模式之MVC,MVP和MVVM的简单介绍与区别
- hdu2059(简单DP)
- CSU 1262——安全密码
- Linux下的静态库与动态库
- MyBatis Generator generatorConfig.xml配置详解
- Java_反射(reflect)
- 《浅谈架构之路:前后端分离模式》
- task_struct结构体详解
- Deeplearning4j 实战(4):Deep AutoEncoder进行Mnist压缩的Spark实现
- 一次Python性能调优经历
- UVA-10462-Is There A Second Way Left? (次小生成树带重边)