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!!
  • 相关阅读:
    English,The Da Vinci Code, Chapter 23
    python,meatobject
    English,The Da Vinci Code, Chapter 22
    English,The Da Vinci Code, Chapter 21
    English,The Da Vinci Code, Chapter 20
    English,The Da Vinci Code, Chapter 19
    python,xml,ELement Tree
    English,The Da Vinci Code, Chapter 18
    English,The Da Vinci Code, Chapter 17
    English,The Da Vinci Code, Chapter 16
  • 原文地址:https://www.cnblogs.com/pingge/p/3182448.html
Copyright © 2011-2022 走看看