当前位置: 首页 > article >正文

ccf3501密码

//密码
#include<iostream>
#include<cstring>
using namespace std;
int panduan(char a[]){
	int l=strlen(a);
	int s=0;
	int zm=0,sz=0,t=0;
	int b[26]={0},c[26]={0},d[10]={0},e=0,f=0;
	while(s<l&&l>=6){
		if(a[s]<='Z'&&a[s]>='A'){
			b[a[s]-'A']++;
			zm++;
		}
		if(a[s]<='z'&&a[s]>='a'){
			c[a[s]-'a']++;
			zm++;
		}
		if(a[s]<='9'&&a[s]>='0'){
			d[a[s]-'0']++;
			sz++;
		}
		if(a[s]=='*'){
			e++;
			t++;
		}
		if(a[s]=='#'){
			f++;
			t++;
		}
		s++;
	}
	int g=0,h=0;
	for(int i=0;i<26;i++){
		if(b[i]>2){
			g++;
		}
		if(c[i]>2){
			h++;
		}
	}
	int k=0;
	for(int i=0;i<10;i++){
		if(d[i]>2){
			k++;
        }
	}
	if(zm>0&&sz>0&&t>0){
		if(g==0&&h==0&&k==0&&e<=2&&f<=2){
			return 2;
		}
		else/* if(g>0||h>0||k>0||e>2||f>2)*/{
			return 1;
		}	
	}
	else{
		return 0;
	}
}
int main(){
	int n;
	cin>>n;
	char a[20];
	int x[100];
	for(int i=0;i<n;i++){
		cin>>a;
		x[i]=panduan(a);
	}
	for(int i=0;i<n;i++){
		cout<<x[i]<<endl;
	}
	return 0;
} 


http://www.kler.cn/a/588346.html

相关文章:

  • 计算机操作系统进程(4)
  • 【网络】什么是反向代理Reverse Proxies?
  • matlab中如何集成使用python
  • Python中在类中创建对象
  • 基于Spring Boot的航司互售系统
  • Java中队列(Queue)和列表(List)的区别
  • 基于ssm+vue汽车租赁系统
  • 量化交易学习笔记02:双均线策略
  • java项目之基于ssm的药店药品信息管理系统(源码+文档)
  • TCP/IP协议中三次握手(Three-way Handshake)与四次挥手(Four-way Wave)
  • 面试系列|蚂蚁金服技术面【1】
  • C++那些事儿:访问控制与友元函数的奇妙冒险
  • C语言 —— 此去经年梦浪荡魂音 - 深入理解指针(卷一)
  • Vue开发者工具(VueDevtools)下载与安装
  • 区跨链知识和概念
  • C++|空指针nullptr
  • Ubuntu24.10编译Android12源码并运行于模拟器中
  • How To Change Windows VPS Password
  • LeetCodeHot100_0x07
  • [蓝桥杯 2023 省 A] 买瓜 --暴力DFS+剪枝优化