密码

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

AC code:

#include<stdio.h>

#include<math.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>

int main()
{
     int n,a[6];
     char c;
     scanf("%d%*c",&n);
     while(n--){
     a[0]=a[1]=a[2]=a[3]=a[4]=a[5]=0;
     while((c=getchar())!='\n'){
          if(isupper(c))
            a[0]=a[5]++;
          else if(islower(c))
            a[1]=a[5]++;
          else if(isdigit(c))
            a[2]=a[5]++;
          else
            a[3]=a[5]++;
         }
         if(a[0]) a[4]++;
         if(a[1]) a[4]++;
         if(a[2]) a[4]++;
         if(a[3]) a[4]++;
      puts(a[4]>2 && a[5]>7 && a[5]<17 ? "YES":"NO"); 
     
         }
      return 0;

}

(HDOJ 2043)密码相关推荐

  1. HDU杭电OJ经典100题2000-2099_Java版详细题解(持续更新)

    今年寒假打算用Java把杭电2000-2099全部AC(现在持续更新),如下是题目链接,之后是我的题解,全部做完后我会把所有AC的题解打包上传的 题号 题名 题号 题名 2000 ASCII码排序 2 ...

  2. 杭电acm2043密码

    密码 http://acm.hdu.edu.cn/showproblem.php?pid=2043 Time Limit: 2000/1000 MS (Java/Others)    Memory L ...

  3. HDOJ题目分类大全

    版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...

  4. Hive设置连接用户名和密码

    当hive客户端搭建起来之后,应用项目远程连接hive需要设置用户名和密码: 由于hive默认的用户名和密码都是空的,所以需要我们设置用户名和密码: 我们采用自定义方式来设置hive的用户名和密码,步 ...

  5. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

  6. hdoj 1874 dijkstra

    在做PAT的甲1003,思考DFS和图什么的,时间紧张直接去看柳神(日后上传柳神的C++版本)的订阅,得知是dijkstra,转去用hdoj 1874练手,写了两天,终于调出来了 题目链接:http: ...

  7. 杭电ACM基础题(2031、2032、2033、2034、2035、2039、2040、2042、2043、2051)

    文章目录 2031.进制转换 2032.杨辉三角 2033.时钟数的A+B 2034.{A}-{B}集合作差 2035.求A^B^ 2039.判断所给a,b,c能否组成三角形 2040.亲和数 204 ...

  8. HDOJ ACM 题目

    转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...

  9. 在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)

    现象:在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码.通讯内容或信用卡信息). 当点开"了解详情"后显示 ...

  10. 设置linux初始root密码

    简单一步设置linux第一个root密码 sudo passwd root #输入当前账户密码 #输入准备设置的root密码 #确认密码 如下所示:

最新文章

  1. 程序员取悦女票的正确姿势---Tip1(iOS美容篇)
  2. LeetCode实战:两数之和
  3. SpringBoot集成Druid
  4. Java多线程之ReentrantReadWriteLock
  5. javascript12-object04-毕包
  6. Dapr 在阿里云原生的实践
  7. 详尽kmp_详尽的分步指南,用于数据准备
  8. mysql锁的基本类型_Mysql的锁
  9. pandas创建与保存(导入与导出)dataframe
  10. 高通设备找不到连接QXDM的端口
  11. 《穿越计算机的迷雾》读书笔记五
  12. Java验证导入excel格式
  13. word2010撤销功能的恢复方法
  14. 计算历史区间的收益率,用前复权还是后复权?
  15. 操作系统 请求分页存储管理方式(含页面置换算法)
  16. 如何让EXCEL公式结果不显示#N/A、#VALUE!的错误
  17. PostgreSQL汉字转拼音
  18. Nginx网站服务与LNMP架构部署(详解)
  19. 大学选修课计算机心得,大学选修课心得体会范文五篇
  20. 使用STM32F103采集Si7021温湿度传感器数据

热门文章

  1. 一个Lumen多层拆分手记
  2. 在国内使用maven下载jar包非常慢的解决方法
  3. App开发流程之图像处理工具类
  4. Android系统自带样式(@android:style/) (转)
  5. pycharm 如何设置方法调用字体颜色
  6. 浮动元素引起的问题和解决办法
  7. HashMap 的深入学习
  8. IOS PhoneGap项目调用NATIVE
  9. Apache Server Status主机状态查看
  10. 转:经典面试题:链表的相交与环问题