杭电ACm密码有关问题-求指导提交的时侯前面的这个没有AC
杭电ACm密码问题--------求指导提交的时侯前面的这个没有AC
#include <iostream> using namespace std; int main() { int n; string str; cin>>n; while (n--) { int j=0,k=0,l=0,m=0,sum=0; unsigned int i; cin>>str; if(str.length()>=8&&str.length()<=16) { for( i=0;i<str.length();i++) { if(str[i]>='0'&&str[i]<='9') j=1; else if(str[i]>='A'&&str[i]<='Z') k=1; else if(str[i]>='a'&&str[i]<='z') l=1; else if(str[i]=='~'||str[i]=='@'||str[i]=='$'||str[i]=='%'||str[i]=='^') m=1; else { j=0;k=0;l=0;m=0; } sum=j+k+l+m; } if(sum>=3) cout<<"YES"<<endl; else cout<<"NO"<<endl; } else cout<<"NO"<<endl; } return 0; }
#include<stdio.h> #include<string.h> int main() { int M,i,t,a,b,c,d,sum; char s[60]; while(scanf("%d",&M)!=EOF) { while(M--) { scanf("%s",s); t=strlen(s); if(t<8||t>16) { printf("NO\n"); continue; } a=b=c=d=sum=0; for(i=0;s[i]!='\0';i++) { if(s[i]>='A'&&s[i]<='Z')a=1; else if(s[i]>='a'&&s[i]<='z')b=1; else if(s[i]>='0'&&s[i]<='9')c=1; else if(s[i]=='~'||s[i]=='!'||s[i]=='@'||s[i]=='#'||s[i]=='$'||s[i]=='%'||s[i]=='^')d=1; } sum=a+b+c+d; if(sum>=3) printf("YES\n"); else printf("NO\n"); } } return 0; }