社区讨论

30求调,必关(c++)

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

讨论操作

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

当前回复
9 条
当前快照
1 份
快照标识符
@mhjd2foc
此快照首次捕获于
2025/11/04 00:35
4 个月前
此快照最后确认于
2025/11/04 00:35
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
long long n,l,le,f=1,fx=0,fd=0,fs=0,ft=0;
string s,t;
int main(){
	cin>>s;
	l=s.size();
	for(int i=0;i<l;i++){
		if(s[i]==','){
			f=1;
			fx=0,fd=0,fs=0,ft=0;
			if(le>12||le<6){
				f=0;
			}
			for(int j=0;j<le;j++){
				if(t[j]<'a'||t[j]>'z'||t[j]>'Z'||t[j]<'A'||t[j]>'9'||t[j]<'0'){
					f=0;
					break;
				}
				if(t[j]>='a'&&t[j]<='z'){
					fx=1;
				}
				else if(t[j]>='A'&&t[j]<='Z'){
					fd=1;
				}
				else if(t[j]>='0'&&t[j]<='9'){
					fs=1;
				}
				else if(t[j]=='!'||t[j]=='@'||t[j]=='#'||t[j]=='$'){
					ft=1;
				}
			}
			if((fx+fd+fs+ft)<3){
				f=0;
			}
			if(f){
				cout<<t;
				cout<<endl;
			}
			le=0;
			t.clear();
		}
		else{
			t[++le]=s[i];
		}
	}
	return 0;
}

回复

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

正在加载回复...