1081 检查密码
Statement
Metadata
- 作者: CHEN, Yue
- 单位: 浙江大学
- 代码长度限制: 16 KB
- 时间限制: 400 ms
- 内存限制: 64 MB
本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。
输入格式
输入第一行给出一个正整数 N(
注意: 题目保证不存在只有小数点的输入。
输出格式
对每个用户的密码,在一行中输出系统反馈信息,分以下5种:
- 如果密码合法,输出
Your password is wan mei.; - 如果密码太短,不论合法与否,都输出
Your password is tai duan le.; - 如果密码长度合法,但存在不合法字符,则输出
Your password is tai luan le.; - 如果密码长度合法,但只有字母没有数字,则输出
Your password needs shu zi.; - 如果密码长度合法,但只有数字没有字母,则输出
Your password needs zi mu.。
输入样例
输出样例
Your password is tai duan le.
Your password needs shu zi.
Your password needs zi mu.
Your password is wan mei.
Your password is tai luan le.
Solution
#include <ctype.h>
#include <algorithm>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <iomanip>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
#define CLR(a) memset(a, 0, sizeof(a))
#define pb push_back
using namespace std;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const double PI = 3.14159265358979323846264338327;
const double E = exp(1);
const double eps = 1e-6;
const int INF = 0x3f3f3f3f;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;
int legal(string s) {
int len = s.size();
int a = 0, b = 0, c = 0;
for (int i = 0; i < len; i++) {
if (s[i] >= '0' && s[i] <= '9') {
a = 2;
continue;
} else if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z')) {
b = 3;
continue;
} else if (s[i] == '.')
continue;
else
return 0;
}
return a + b;
}
int main() {
int t;
cin >> t;
getchar();
while (t--) {
string s;
getline(cin, s);
int len = s.size();
if (len < 6)
printf("Your password is tai duan le.\n");
else {
int ans = legal(s);
if (ans == 0)
printf("Your password is tai luan le.\n");
else if (ans == 2)
printf("Your password needs zi mu.\n");
else if (ans == 3)
printf("Your password needs shu zi.\n");
else
printf("Your password is wan mei.\n");
}
}
}
Last update: May 4, 2022