社区讨论

50分!!!!!!!!!!!!!!!

B3843[GESP202306 三级] 密码合规参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhjfcbd5
此快照首次捕获于
2025/11/04 01:38
4 个月前
此快照最后确认于
2025/11/04 01:38
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
string s;
void pd(int x,int y)
{
	int a = 0,b = 0,c = 0,d = 0;
	for (int i = x;i <= y;i++)
	{
		if (!(s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z' || s[i] >= '0' && s[i] <= '9' || s[i] == '!' || s[i] == '@' || s[i] == '#' || s[i] == '$'))
		{
			return;
		}
		else if (y - x + 1 < 6 || y - x + 1 > 12)
		{
			return;
		}
		else if (s[i] >= 'a' && s[i] <= 'z' && a == 0)
		{
			a = 1;
		}
		else if (s[i] >= 'A' && s[i] <= 'Z')
		{
			b = 1;
		}
		else if (s[i] >= '0' && s[i] <= '9')
		{
			c = 1;
		}
		else
		{
			d++;
		}
	}
	if (a + b + c >= 2 && d >= 1)
	{
		for (int i = x;i <= y;i++)
		{
			cout << s[i];
		}
		cout << endl;
	}
}
int main()
{
	cin >> s;
	int k = 0;
	s[s.size()] = ',';
	for (int i = 0;i < s.size();i++)
	{
		if (s[i] == ',')
		{
			pd(k,i - 1);
			k = i + 1;
		}
	}
	return 0;
}


回复

1 条回复,欢迎继续交流。

正在加载回复...