练习题 安全的密码

原创 2016年05月31日 09:44:05

安全的密码

 

 

网上流传一句话:"常在网上飘啊,哪能不挨刀啊~"。其实要想能安安心心地上网其实也不难,学点安全知识就可以。 

首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件: 

(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情况===============================*/
/*题目网址:   */
/*时间: */
/*心得: 四个条件选择三个就可以了。。。。。 */

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define G 100

int main() {
	bool mi[4],guo[2];
	char wqs[G];
	int t,len;
	scanf("%d",&t);
	while(t--) {
		memset(mi,false,sizeof(mi));
		memset(guo,false,sizeof(guo));
		scanf("%s",wqs);
		len=strlen(wqs);
		if(len>=8&&len<=16)
			guo[0]=true;
		for(int j=0; j<len; j++) {
			if(wqs[j]>='A'&&wqs[j]<='Z') 	mi[0]=true;
			if(wqs[j]>='a'&&wqs[j]<='z') 	mi[1]=true;
			if(wqs[j]>='0'&&wqs[j]<='9') 	mi[2]=true;//~,!,@,#,$,%,^;
			if(wqs[j]=='~'||wqs[j]=='!'||wqs[j]=='@') 	mi[3]=true;
			if(wqs[j]=='#'||wqs[j]=='%'||wqs[j]=='^'||wqs[j]=='$')   mi[3]=true;
		}
		if(mi[0]&&mi[1]&&mi[2]||mi[0]&&mi[1]&&mi[3]||mi[1]&&mi[2]&&mi[3]||mi[0]&&mi[2]&&mi[3])
			guo[1]=true;
		if(guo[0]&&guo[1])
			puts("YES");
		else
			puts("NO");
	}
	return 0;
}

/*********************************测试数据*********************************


**************************************************************************/

版权声明:就这些 Code ,尽管看。PS->只会敲代码的大男孩,是没有女孩子喜欢你的。。。。

1053: 【密码】

题目Description网上流传一句话:”常在网上飘啊,哪能不挨刀啊~”。其实要想能安安心心地上网其实也不难,学点安全知识就可以。 首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?...
  • qq420007900
  • qq420007900
  • 2017年05月03日 13:21
  • 229

密码,杭电水题

Problem Description网上流传一句话:"常在网上飘啊,哪能不挨刀啊~"。其实要想能安安心心地上网其实也不难,学点安全知识就可以。首先,我们就要设置一个安全的密码。那什么样的密码才叫安全...
  • lwd2621
  • lwd2621
  • 2015年11月19日 16:27
  • 628

CSU 1262——安全密码

网络上各类交易活动越来越普及,为了能够安安心心地上网,经常需要设置一个安全的密码。一般来说一个比较安全的密码至少应该满足下面两个条件:  (1)密码长度大于等于8。 (2)密码中的字符应该来自下面...
  • CrazyKeyboardMan
  • CrazyKeyboardMan
  • 2017年02月17日 18:38
  • 282

杭电OJ_(2043)密码

Problem Description 网上流传一句话:"常在网上飘啊,哪能不挨刀啊~"。其实要想能安安心心地上网其实也不难,学点安全知识就可以。 首先,我们就要设置一个安全的密码。那什么...
  • tyh18226568070
  • tyh18226568070
  • 2017年08月30日 21:53
  • 101

CSU 1262——安全密码

网络上各类交易活动越来越普及,为了能够安安心心地上网,经常需要设置一个安全的密码。一般来说一个比较安全的密码至少应该满足下面两个条件:  (1)密码长度大于等于8。 (2)密码中的字符应该来自下面...
  • CrazyKeyboardMan
  • CrazyKeyboardMan
  • 2017年02月17日 18:38
  • 282

hdoj-2043-密码(解题报告)

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2043 问题描述 密码 Time Limit: 2000/1000 MS (Java/Others)...
  • w5142016
  • w5142016
  • 2017年04月08日 21:14
  • 226

关于密码安全问题

最近两天,朋友请教我一个挺有意思的密码安全的问题,由于感觉思路不是太难,于是我就没有在第一时间内将这道题做一下,只是给他说了一下思路,然而这道题的确有点难度,他一连两天都没有按照我的思路做出来,于是我...
  • f_zyj
  • f_zyj
  • 2015年12月03日 01:02
  • 675

【杭电oj2043】密码

密码 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi...
  • better_space
  • better_space
  • 2016年08月15日 21:25
  • 646

记住密码的安全

记住密码
  • Q176782
  • Q176782
  • 2016年05月22日 11:11
  • 1188

密码怎样设定和保存才既方便又安全?

在不同站点设置不同的密码,往往记不住,保存在文档里又怕文档本身被泄露,怎么办呢? 现在给大家推荐一个我正在使用的密码设置和保存方法,比较好的解决了密码设定和保存的问题。...
  • gulingeagle
  • gulingeagle
  • 2015年10月20日 17:07
  • 679
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:练习题 安全的密码
举报原因:
原因补充:

(最多只允许输入30个字)