HDU 2043 암호 (문자열 의 존재 성 판단)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45796 Accepted Submission(s): 18423
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
Author
linle
Source
2005 실험 반 단기 시험
문제 풀이: 문자열 이 존재 하 는 지 판단 하 세 요.
AC 코드:
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<cstdlib>
#include<iomanip>
#include<algorithm>
#include<time.h>
typedef long long LL;
using namespace std;
int main()
{
char a[100];
int sum,i,n,b,c,d,e;
cin>>n;
getchar();
while(n--)
{
b=0,c=0,d=0,e=0;
gets(a);
if(strlen(a)>=8&&strlen(a)<=16)
{
for(i=0;i<strlen(a);++i)
{
if(a[i]>='0'&&a[i]<='9')
b=1;
if(a[i]>='a'&&a[i]<='z')
c=1;
if(a[i]>='A'&&a[i]<='Z')
d=1;
if(a[i]=='~'||a[i]=='!'||a[i]=='@'||a[i]=='#'||a[i]=='$'||a[i]=='%'||a[i]=='^')
e=1;
}
sum=b+c+d+e;
if(sum>=3)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else
cout<<"NO"<<endl;
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
공개 키 암호 "RSA"의 구조 이해공개 키 비밀번호를 사용하는 대략적인 통신 절차를 아는 사람 공개 키 암호에 관심이 있는 사람 RSA 암호화는 다음 공식으로 나타낼 수 있습니다. E 및 N 그룹은 공개 키입니다. 디코딩은 다음과 같은 공식으로 표시...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.