杭电OJ_(2043)密码

2023-11-12

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
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2043
要做这题必需分析好题目,密码中的特殊字符只是题目描述中的那7个,不含有别的特殊字符。只要了解这点这个题目就很快能写出来。
判定的要求是最少含有这4中元素中的三个,可以在每个判断的时候用个flag为1在判定4个的和与判定要求比较
题目代码
#include<stdio.h>
#include<string.h>
int main ()
{
	int i,j,k,n;
	char str[99];
	while(scanf("%d",&n)!=EOF){
		while(n--){
			int flag1=0,flag=0,flag2=0,flag3=0;
			scanf("%s",str);	//用scanf函数不用getchar排除空格
			k=strlen(str);
		if(k<8 || k>16){            	//初次判定最低要求范围
			printf("NO\n");
			continue;		//跳出本次循环再继续下一次执行
		}	
		
			for(i=0;str[i]!='\0';i++){
			if(str[i]>='0' && str[i]<='9')	flag=1;
			else if(str[i]>='A' && str[i]<='Z')	flag1=1;
			else if(str[i]>='a' && str[i]<='z')	flag2=1;
			else if(str[i]=='~' || str[i]=='!' || str[i]=='@' || str[i]=='#' || str[i]=='&' || str[i]=='%' || str[i]=='^')	flag3=1;
			}//只要有一个满足即可
			
			if((flag+flag1+flag2+flag3)>=3)	printf("YES\n");
			else printf("NO\n");
			
		}
			
	}
	return 0;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

杭电OJ_(2043)密码 的相关文章

  • 素数打表,复杂度(Onlogn)和O(n)(对与10^7来说线性快两倍) + 分解质因数

    代码 接口 primeInit 100000 打表的范围 素数存在primeList中 个数为primeCount typedef long long LL int const MAXN 10000100 bool isPrime MAXN
  • discuz密码找回:忘记UCENTER创始人密码

    1 通过ftp工具连接您的虚拟主机在网站根目录uc目录下的子目录 data中找到文件config inc php 注意 不是跟目录data 是uc server data 2 通过代码编辑器打开它 找到类似以下代码 define UC FO
  • 【刷题】华为笔试面试机考 [HJ29] - 字符串加解密

    题目地址 点击跳转 题目描述 1 对输入的字符串进行加解密 并输出 2 加密方法为 当内容是英文字母时则用该英文字母的后一个字母替换 同时字母变换大小写 如字母a时则替换为B 字母Z时则替换为a 当内容是数字时则把该数字加1 如0替换1 1
  • Kattis Doors

    Problem open kattis com problems doors vjudge net contest 183886 problem B Reference 点到线段的最短距离算法 Meaning 有两个球 Alex 和 Bob
  • MD5 Hash + Salt的密码存储方式实现

    MD5算法是一种密码散列算法 MD5散列后的数据长度为128 bit 该散列算法在密码上使用得非常多 但现在已经被更安全的SHA 1代替 MD5算法产生的密码可以使用反向查询的方式从预先算出的密码MD5库中查到密码 网上的一些MD5库中大约
  • LightOJ 1045 Digits of Factorial

    Problem acm hust edu cn vjudge problem visitOriginUrl action id 26765 分析 在base进制下 pow base x 表示最小的 x 1 位数 pow base x 1 表
  • 算术表达式的前缀式、中缀式、后缀式相互转换

    中缀表达式 中缀记法 中缀表达式是一种通用的算术或逻辑公式表示方法 操作符以中缀形式处于操作数的中间 中缀表达式是人们常用的算术表示方法 虽然人的大脑很容易理解与分析中缀表达式 但对计算机来说中缀表达式却是很复杂的 因此计算表达式的值时 通
  • 杭电OJ_(2043)密码

    Problem Description 网上流传一句话 常在网上飘啊 哪能不挨刀啊 其实要想能安安心心地上网其实也不难 学点安全知识就可以 首先 我们就要设置一个安全的密码 那什么样的密码才叫安全的呢 一般来说一个比较安全的密码至少应该满足
  • stl_set

    begin 返回指向第一个元素的 迭代器 clear 清除所有元素 size 集合中元素的数目 count 返回某个值元素的个数 empty 如果集合为空 返回true 真 end 返回指向最后一个元素之后的迭代器 不是最后一个元素器 in
  • 二叉搜索树(树状数组)

    计数函数 程序 int lowbit int k return k k 功能 可视为每个节点的编号函数 加和函数 程序 int sum int x int ret 0 while x gt 0 ret c x x lowbit x retu
  • poj 2155 Matrix

    Problem poj org problem id 2155 vjudge net contest 146952 problem A Referencd www cnblogs com gj Acit p 3258880 html Mea
  • Linux安装mysql5.7.23设置密码问题

    问题 安装mysql没有设置密码导致无法进入mysql 系统 ubuntu 18 04 mysql版本 mysql Ver 14 14 Distrib 5 7 23 for Linux x86 64 using EditLine wrapp
  • ACM: Poker Game

    题目描述 A poker deck contains 52 cards Each card has a suit of either clubs diamonds hearts or spades denoted C D H S in th
  • hdu 5792 World is Exploding 2016 Multi-University 5

    Problem acm hdu edu cn showproblem php pid 5792 题意 给一个序列 V 问有多少个由下标组成的四元组 a b c d 满足 a b c d a lt b c lt d Va lt Vb Vc g
  • hduoj 2002

    计算球体积 Problem Description 根据输入的半径值 计算球的体积 Input 输入数据有多组 每组占一行 每行包括一个实数 表示球的半径 Output 输出对应的球的体积 对于每组输入数据 输出一行 计算结果保留三位小数
  • ACM-子串(字符串处理)

    问题描述 有一些由英文字符组成的大小写敏感的字符串 请写一个程序 找到一个最长的字符串 x 使得 对于已经给出的字符串中的任意一个 y x 或者是 y 的子串 或者 x 中的字符反序之后得到的新字符串是 y 的子串 输入数据 输入 输入的第
  • redis必杀高级:安全

    题记 我们可以通过 redis 的配置文件设置密码参数 这样客户端连接到 redis 服务就需要密码验证 这样可以让你的 redis 服务更安全 例如 设置密码 查看是否设置了密码验证 127 0 0 1 6379 gt CONFIG ge
  • Summer Holiday HDU - 1827 强连通分量+缩点

    To see a World in a Grain of Sand And a Heaven in a Wild Flower Hold Infinity in the palm of your hand And Eternity in a
  • Ugly Numbers

    题目描述 Ugly numbers are numbers whose only prime factors are 2 3 or 5 The sequence 1 2 3 4 5 6 8 9 10 12 shows the first 1
  • gym 101512 BAPC 2014 I Interesting Integers

    Problem codeforces com gym 101512 attachments vjudge net contest 186506 problem I Meaning 给出一个 正整数 n 要找尽量小的 a 和 b a lt b

随机推荐

  • linux 浮动ip 出口,在Linux 双机下自己手动实现浮动ip技术

    两台Linux服务器 一台为主机 IP 124 158 26 30 对外提供了一定的网络服务 另一台从机 IP 124 158 26 31 能提供相同的服务 但ip地址没有对外部公开客户端连接的都是124 158 26 30这个ip地址 如
  • 模糊二维码数据集_CVPR 2019

    图像模糊是影响图像质量的重要因素 显着降低了许多计算机视觉应用的性能 例如物体检测和人脸识别 随着深度神经网络的发展 计算机视觉领域的难题被一个个解决 单纯依靠先验核去实现图像去模糊的技术已经渐渐被取代 本文将针对 CVPR2019 Uns
  • ChatGLM模型(服务器部署+微调)

    一 ChatGLM 6B在Linux上部署运行 1 部署 2 微调 3 推理 4 利用微调后的模型进行验证 5 参考博客 ChatGLM官方源码github地址 模型huggface地址 1 部署 1 1 部署前要先安装anaconda 我
  • yum安装软件时,出现"No package XXX available"的解决办法

    我的Linux版本6 8x64 依次执行以下命令解决 cd home wget http dl fedoraproject org pub epel 6 x86 64 epel release 6 8 noarch rpm rpm ivh
  • 6 FPGA时序约束理论篇之xdc约束优先级

    xdc约束优先级 在xdc文件中 按约束的先后顺序依次被执行 因此 针对同一个时钟的不同约束 只有最后一条约束生效 虽然执行顺序是从前到后 但优先级却不同 就像四则运算一样 x 都是按照从左到右的顺序执行 但x 的优先级比 要高 时序例外的
  • PCB设计中电流与线宽的关系

    除了温度 PCB的导线电流主要与铺铜厚度和线宽有关 嘉立创铺铜厚度为 1 盎司 0 0014 英寸 0 0356 毫米 mm 35 6um 1mm大约为40mil 40mil线宽三种铜厚情况下的电流大小为 35um 2 3A 50um 2
  • 启用计算机的fn键,联想 ThinkPad 笔记本 Fn 键 关闭与启用方法

    为适应部分用户的传统使用习惯 采用媒体功能键设计的笔记本电脑 BIOS中一般预留了热键模式切换开关 可通过切换开关来满足个人使用需要 1 电脑关机状态下 按下一键恢复按键 目前销售的联想笔记本电脑中 一键恢复按键多在电脑右侧 或左侧 以凹陷
  • first season fifteenth episode,does Chandler have dreams?

    Scene Central Perk Rachel is serving Joey Ross and Monica their drinks Rachel to Joey Coffee Hands it to him Joey Thank
  • 解决linux系统nginx重启失败问题

    端口被占用问题 nginx的默认端口为80端口 当我们的80端口被占用时 nginx无法启动成功 这时我们可以使用命令 netstat an grep 80 查看80端口的占用情况 于是 我们需要修改nginx的默认端口 通过命令进入ngi
  • “泰迪杯”数据分析职业技能大赛B题 学生校园消费行为分析---复盘

    1 赛题背景 校园一卡通是集身份认证 金融消费 数据共享等多项功能于一体的信息集成系统 在为师生提供优质 高效信息化服务的同时 系统自身也积累了大量的历史记录 其中蕴含着学生的消费行为以及学校食堂等各部门的运行状况等信息 很多高校基于校园一
  • EasyRecovery易恢复2023最新免费的电脑数据恢复软件

    EasyRecovery是一款非常专业的硬盘数据恢复工具 EasyRecovery拥有磁盘诊断 数据恢复 文件修复 E mail 修复等功能 有了EasyRecovery 你可以把误删 被破坏的文件 格式化的磁盘轻轻松松的找回来 小伙伴们可
  • AD如何修改3D视图时PCB板的颜色

    文章目录 前言 一 解决步骤 总结 前言 众所周知 AD 3D视图下默认是绿色板子 那我想改成其他颜色怎么办 一 解决步骤 其实很简单哈 我们就用最直接的方法 我们点击右下角这个LS旁边的红色框 注意不是点击LS哈 然后单击这两个绿色格子
  • 最全DOS的CMD命令,程序员必会

    转载 列宁的著作2021 09 05 10 54 16 文章标签DOSCMD命令行文件名实用程序文章分类代码人生阅读数207 CMD命令 开始 gt 运行 gt 键入cmd或command 在命令行里可以看到系统版本 文件系统版本 1 ap
  • Wget用法、参数解释的比较好的一个文章

    wget是一个从网络上自动下载文件的自由工具 它支持HTTP HTTPS和FTP协议 可以使用HTTP代理 所谓的自动下载是指 wget可以在用户退出系统的之后在后台执行 这意味这你可以登录系统 启动一个wget下载任务 然后退出系统 wg
  • FI(财务会计)模块简介

    一 财务会计系统主要特征及模型 一个有效的 现代的财务会计系统必须满足内部的和法定的会计面的要求 法定会计必须能够按有关规定向股东 债权人 劳工组织以及社会公众披露并提供所需的信息 而有效的公司管理会计必须包括控制和转移的功能 1 系统主要
  • 正确认识及掌握时间的用法

    前言 时间是一个相对地区而言的概念 因此有一个基准地区 就是本初子午线穿过的地区 了解世界时间相关的概念可以更好地协调全球人们的活动 便于跨越不同地区的时差 本初子午线 本初子午线指的是经过地球上经度为0度的那条线 也是国际日期变更线的起点
  • 亲密关系沟通-【情感勒索】建立良性沟通

    尊重对方的情绪 也应该判断对方的情绪是否合理 生活中情感勒索是很常见的 想要控制对方 我们可能都有做过这些行为 case 父母催婚 说女儿不孝顺 拒绝吃饭 情感勒索 case 男朋友不允许自己参加社团活动 不允许和其他男生接触 否则有自残行
  • G1垃圾收集器jvm参数设置

    堆内存最大最小值为4g 新生代内存2g Xms4g Xmx4g Xmn2g 元空间128m 最大320m XX MetaspaceSize 128m XX MaxMetaspaceSize 320m 开启远程debug Xdebug Xru
  • Java NIO(非阻塞IO) API介绍 .

    转载自 http blog csdn net daijialin article details 231384 在JDK 1 4以前 Java的IO操作集中在java io这个包中 是基于流的阻塞 blocking API 对于大多数应用来
  • 杭电OJ_(2043)密码

    Problem Description 网上流传一句话 常在网上飘啊 哪能不挨刀啊 其实要想能安安心心地上网其实也不难 学点安全知识就可以 首先 我们就要设置一个安全的密码 那什么样的密码才叫安全的呢 一般来说一个比较安全的密码至少应该满足