zoukankan      html  css  js  c++  java
  • HDU_2043——判断密码是否安全

    Problem Description
    网上流传一句话:"常在网上飘啊,哪能不挨刀啊~"。其实要想能安安心心地上网其实也不难,学点安全知识就可以。
    首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件:
    (1).密码长度大于等于8,且不要超过16。 (2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。
    这四个字符类别分别为: 1.大写字母:A,B,C...Z; 2.小写字母:a,b,c...z; 3.数字:0,1,2...9; 4.特殊符号:~,!,@,#,$,%,^;
    给你一个密码,你的任务就是判断它是不是一个安全的密码。
     
    Input
    输入数据第一行包含一个数M,接下有M行,每行一个密码(长度最大可能为50),密码仅包括上面的四类字符。
     
    Output
    对于每个测试实例,判断这个密码是不是一个安全的密码,是的话输出YES,否则输出NO。
     
    Sample Input
    3 a1b2c3d4 Linle@ACM ^~^@^@!%
     
    Sample Output
    NO YES NO
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cctype>
     4 int main()
     5 {
     6     int n, len, f1, f2, f3, f4;;
     7     char str[50];
     8     scanf("%d",&n);
     9     while(n--)
    10         {
    11             scanf("%s",str);
    12             len=strlen(str);
    13             f1=f2=f3=f4=0;
    14             if(len>=8 && len<=16)
    15                 {
    16                     for(int i=0;i<len;i++)
    17                         {
    18                             if(isupper(str[i]))
    19                                 {
    20                                     f1=1;
    21                                 }
    22                             else if(islower(str[i]))
    23                                 {
    24                                     f2=1;
    25                                 }
    26                             else if(isdigit(str[i]))
    27                                 {
    28                                     f3=1;    
    29                                 }
    30                             else
    31                                 {
    32                                     f4=1;    
    33                                 }
    34                         }
    35                     if((f1+f2+f3+f4)>=3)
    36                         {
    37                             printf("YES
    ");
    38                             continue;
    39                         }
    40                 }
    41             printf("NO
    ");
    42         }
    43     return 0;    
    44 }
    ——现在的努力是为了小时候吹过的牛B!!
  • 相关阅读:
    基本类型与引用类型
    局部变量与实例变量
    语句块
    i++与++i
    JAVA基本概念
    网线8根线的排列方式
    Docker容器常用命令
    内存cache使用的场景
    Python爬虫:Xpath语法笔记
    python实现简单的聊天
  • 原文地址:https://www.cnblogs.com/pingge/p/3182448.html
Copyright © 2011-2022 走看看