社区讨论
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 条回复,欢迎继续交流。
正在加载回复...