社区讨论

40分球条

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mj9lg1c9
此快照首次捕获于
2025/12/17 13:51
2 个月前
此快照最后确认于
2025/12/20 09:25
2 个月前
查看原帖
CPP
#include<bits/stdc++.h> 
using namespace std;
string s;
char vis0,viaA,visa;
bool pd(string ss)
{
	int si=ss.size(),c=0,ac=0,Ac,c0;
    vis0='\0';
    viaA='\0';
    visa='\0';
	if(si>12||si<6)
	{
		return 0;
	}
	for(int i=0;i<si;i++)
	{
		if(!(ss[i]>='A'&&ss[i]<='Z')&&!(ss[i]>='0'&&ss[i]<='9')&&!(ss[i]>='a'&&ss[i]<='z')&&ss[i]!='!'&&ss[i]!='@'&&ss[i]!='#'&&ss[i]!='$')
		{
			return 0;
		}
		else if(ss[i]=='!'||ss[i]=='@'||ss[i]=='#'||ss[i]=='$')
		{
			c++;
		}
        else
        {
            if(ss[i]>='a'&&ss[i]<='z')
            {
                if(s[i]!=visa)
                {
                    ac++;
                    visa=s[i];
                }
            }
            else if(ss[i]>='A'&&ss[i]<='Z')
            {
                if(s[i]!=viaA)
                {
                    Ac++;
                    viaA=s[i];
                }
                 
            }
            else
            {
                if(s[i]!=vis0)
                {
                    c0++;
                    vis0=s[i];
                }
            }
        }
	}
	if(c==0||ac<2||Ac<2||c0<2)
	{
		return 0;
	}
	return 1; 
}
int main()
{
	cin>>s;
	int si=s.size();
	string ss="";
	for(int i=0;i<si;i++)
	{
		if(s[i]==',')
		{
			if(pd(ss))
			{
				cout<<ss<<"\n";
			}
			ss="";
		}
		else
		{
			ss+=s[i];
		}
	}
	return 0;
} 

回复

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

正在加载回复...