对不了啊

B3843 [GESP202306 三级] 密码合规

ZZYzzy321 @ 2024-08-26 15:10:29


#include<bits/stdc++.h>
using namespace std;
bool check(string x){
    int lx=0,ts=0;
    for(int i=0;i<=x.size();i++){
        if(x[i]>47&&x[i]<58) lx++;
        else if(x[i]>96&&x[i]<123) lx++;
        else if(x[i]>64&&x[i]<91) lx++;
        else if(x[i]=='!'||x[i]=='@'||x[i]=='#'||x[i]=='$') lx++;ts++;
    }
    if(x.size()<6||x.size()>12){
        return false;
    }
    else if(lx<3||ts<1){
        return false;
    }
    else if(lx!=x.size()){
        return false;
    }
    else return true;
}
int main(){
    string s,s1;
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]!=','){
            s1+=s[i];
        }
        else{
            if(check(s1)){
                cout<<s1<<"\n";
            }
            s1="";
        }
    }
}

|