hpuoj 【1212】该死的密码【字符串】
来源:互联网 发布:吉他软件手机版 编辑:程序博客网 时间:2024/05/21 17:52
1212: 该死的密码 [字符串]
时间限制: 1 Sec 内存限制: 128 MB提交: 196 解决: 40
题目描述
终于要放寒假了,王炸和大家一样在模电课上拿起自己的手机准备抢票。刚打开12306,突然蹦出来一个提示:“您的密码可能有泄露的风险,请先修改密码!”
王炸心中一惊:“Are you kidding??!!”赶紧找到改密码的页面,才发现原来改个密码还要验证个人信息,经过一系列娴熟的操作后,终于该输入新密码了,“买票要紧,随便先设置个!”王炸心里想着,中里一串123456789就输进去了。
“对不起,您的密码过于简单,请重新修改!”,紧接着又出来信息验证的页面。…………QAQ……………
…………
“对不起,您的密码不合法,请重新修改!”…………QAQ……………
…………
二十分钟过去了,王炸终于用 QAQ543..!!233 登录进去了,然而发现票已被抢完。
(╯‵□′)╯︵┻━┻ 回个毛线的家,在学校附近网吧做ACM!!
为了避免以后再出现这样的情况,王炸让你帮忙写个程序,来检验密码是否合法,以及密码的强度。
输入
第一行输入一个整数T(1≤T≤10)
接下来T行,每行输入一个字符串str表示密码,其中 1 ≤ strlen(str)≤ 100 (strlen表示计算字符串长度)
输出
合法的密码只含有:大写字母(A~Z)、小写字母(a~z)、数字(0~9)、字符(.!@%四种)。
若密码长度在 [8,24] 之间则认为密码是合法的,如果密码不合法则输出ERROR。
如果密码合法,且含有上述四种的三种及以上,则输出GOOD PASSWORD
否则输出BAD PASSWORD
样例输入
4123456712345678QAQ..!!2333Q1.!
样例输出
ERRORBAD PASSWORDGOOD PASSWORDERROR解析: 字符串的输入以及字符类型的统计,主要是满足题意的条件太多,请仔细理解题意。程序如下:#include<cstdio>#include<cstring>int main(){ int t; scanf("%d\n",&t); while(t--) { char c[103]; int i,l; gets(c); l=strlen(c); int A=0,a=0,num=0,other=0,f=0; for(i=0;i<l;i++) { if(c[i]>='a'&&c[i]<='z') A++; else if(c[i]>='A'&&c[i]<='Z') a++; else if(c[i]>='0'&&c[i]<='9') num++; else if(c[i]=='.'||c[i]=='!'||c[i]=='@'||c[i]=='%') other++; else f++;}if(l<8||l>24||f>0) printf("ERROR\n");else if((A>0&&a>0&&num>0&&other>0)||(A==0&&a>0&&num>0&&other>0)||(A>0&&a==0&&num>0&&other>0)||(A>0&&a>0&&num==0&&other>0)||(A>0&&a>0&&num>0&&other==0)) printf("GOOD PASSWORD\n");else printf("BAD PASSWORD\n");} return 0;}
阅读全文
0 0
- hpuoj 【1212】该死的密码【字符串】
- 1212: 该死的密码 [字符串]
- hpu 1212: 该死的密码
- hpuoj1212: 该死的密码
- 【HPUOJ 1415】小ho的0 【字符串】
- 该死该死该死的一挥手......
- hpuoj 1101: 密码截获
- HPUoj 1415: 小ho的01串 [字符串]
- hpuoj 【1130】字符串统计【字符串】
- hpuoj【1327】比大小【字符串】
- HPUOJ 1414: Kick Ass [字符串]
- hpuoj【1187】영어【字符串】
- 该死的Bug。
- 该死的csdn blog
- 该死的新浪邮箱
- 杀掉该死的插件
- 该死的硬盘
- 该死的ASM IDE
- mySQL超1G大数据导入解决方法
- 中国剩余定理
- 西邮导航
- 查找一个字符串中第一个只出现两次的字符。比如:“abcdefabcdefabc”中第一个只出现两次为‘d’,要求时间复杂度为O(N),空间复杂度为O(1)
- c/c++ 面试笔试知识点----牛客网(1)
- hpuoj 【1212】该死的密码【字符串】
- linux文件权限【基本权限ugo】
- 232. Implement Queue using Stacks(java)
- Spring框架中的Quartz使用(详解)
- 杭电acm—1306 String Matching
- Redis学习笔记(三)Redis源码解读
- 进程间通信---Messenger
- hdu 2509 Be the Winner
- 多文本显示省略号