首页 > 360笔试 9.11第二题密码求解惑
头像
牛客463898797号
编辑于 2020-09-12 08:27
+ 关注

360笔试 9.11第二题密码求解惑

#include <iostream>
#include <string>
#include <vector>

using namespace std;


bool isvalid(string& s) {
	int valid = 0;
	int len = s.size();
	if (len < 8) return false;

	int digit = 1;
	int a = 1;
	int A = 1;
	int etc = 1;
	for (int i = 0; i < len; i++) {
		if (s[i] >= '0' && s[i] <= '9') {
			if (digit) {
				valid++;
				digit = 0;
			}
		}
		else if (s[i] >= 'a' && s[i] <= 'z') {
			if (a) {
				valid++;
				a = 0;
			}
		}
		else if (s[i] >= 'A' && s[i] <= 'Z') {
			if (A) {
				valid++;
				A = 0;
			}
		}
		else {
			valid++;
		}
	}
	if (valid >= 4) return true;
	return false;
}

int main() {
	
	string s;
	
	vector<string>arr;
	while (getline(cin, s)) {
		arr.push_back(s);
	}

	for (int i = 0; i < arr.size(); i++) {
		bool res = isvalid(arr[i]);
		if (res) cout << "OK" << endl;
		else cout << "Irregular password" << endl;
	}

	return 0;
}
不知道为什么赛码网显示“未通过所有测试案例”,好歹过一点吧,不知道什么问题

全部评论

(4) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐