牛牛在注册不同的网站时,总是会使用不同的密码来保证他的账号安全。
为了保证他的密码强度,牛牛使用他的“字符串筛选器”来测试密码的强度。
具体来说,他先将输入的字符串筛选分成四部分。

第一部分仅由小写英文字母组成

第二部分仅由大写英文字母组成

第三部分仅由0到9的数字组成

第四部分由其余特殊字符组成

这四部分要保留它们在原字符串中的相对顺序。

比如将"1q2w3E4R5{6}"这个字符串进行筛选后

四部分分别为:"qw"、"ER"、"123456"、"{}"。

然后只要某一部分不为空,牛牛就认为他的密码等级高1级。
密码等级最低为1级,最高4级。
例如"asdA@123"的密码等级为4,"20020101"的密码等级为1。

请帮助牛牛判断他注册账号时的密码等级,以及该密码做字符串筛选后的结果。

#include<bits/stdc++.h>
using namespace std;
char a[10005],num[10005],sm[10005],bg[10005],ts[10005];
int n=0,s=0,b=0,t=0,dengji=0;
int main(){
    scanf("%s",a);
    int len=strlen(a);
    for(int i=0;i<len;i++){
        if(a[i]>='0'&&a[i]<='9'){
            num[n]=a[i];//查找数字
            n++;
        }
        else if(a[i]>='a'&&a[i]<='z'){
            sm[s]=a[i];//查找小写字母
            s++;
        }
        else if(a[i]>='A'&&a[i]<='Z'){
            bg[b]=a[i];//查找大写字母
            b++;
        }
        else{
            ts[t]=a[i];//查找特殊符号
            t++;
        }
    }
    if(s!=0)dengji++;
    if(b!=0)dengji++;
    if(t!=0)dengji++;
    if(n!=0)dengji++;
    //统计等级
    printf("password level:%d\n",dengji);
    if(s!=0)printf("%s\n",sm);
    else printf("(Null)\n");
    if(b!=0)printf("%s\n",bg);
    else printf("(Null)\n");
    if(n!=0)printf("%s\n",num);
    else printf("(Null)\n");
    if(t!=0)printf("%s\n",ts);
    else printf("(Null)\n");
    return 0;
}