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

蓝桥杯15届国赛 合法密码

问题描述

小蓝正在开发自己的 OJ 网站。他要求网站用户的密码必须符合以下条件:

  1. 长度大于等于 8 个字符,小于等于 16 个字符。
  2. 必须包含至少 1 个数字字符和至少 1 个符号字符。

例如 **lanqiao2024!+-*/06018((>w<))8** 都是合法的密码。 而 **12345678##\*\*##\*\*abc0!#lanqiao20240601!?** 都不是合法的密码。

请你计算以下的字符串中,有多少个子串可以当作合法密码?只要两个子串的开头字符和末尾字符在原串中的位置不同,就算作不同的子串。

字符串为:

kfdhtshmrw4nxg#f44ehlbn33ccto#mwfn2waebry#3qd1ubwyhcyuavuajb#vyecsycuzsmwp31ipzah#catatja3kaqbcss2th

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分

遍历所有可能的密码,选出合法的

#include<iostream>
using namespace std;typedef long long ll;string s = 
"kfdhtshmrw4nxg#f44ehlbn33ccto#mwfn2waebry#3qd1ubwyhcyuavuajb#vyecsycuzsmwp31ipzah#catatja3kaqbcss2th";ll ans;int main()
{for(ll i=0; i<=s.size()-8; ++i){for(ll j=8; j<=16&&j<=s.size()-i; ++j)  //s.size()-i表示从位置i开始剩余的字符数//子串不能超出字符串的剩余部分,否则s.substr(i, j)会越界{string s1=s.substr(i, j); //提取从位置i开始的j个字符 ll len = s1.size();ll a=0, b=0, c=0;for(ll k=0; k<len; ++k){//如果有数字 if(s1[k]>='0'&&s1[k]<='9') a=1;//如果有字母 else if(s1[k]>='a'&&s1[k]<='z') b=1;//如果有特殊符号 else c=1;  //这种写法很好,排除数字字母即为特殊符号 } if(a==1 && c==1) ans++;}}cout<<ans;return 0;
} 
http://www.xdnf.cn/news/3890.html

相关文章:

  • 嵌入式系统基础知识
  • 【Hive入门】Hive与Spark SQL集成:混合计算实践指南
  • python使用cv2在图片上标点
  • Python语句类型与格式规范研究
  • RT-Thread studio的驱动5.1.0报错修改
  • c++学习
  • 算法笔记。质数筛算法
  • 一种实波束前视扫描雷达目标二维定位方法——论文阅读
  • 短信登录功能实现(黑马点评)
  • 高中数学联赛模拟试题精选学数学系列第6套几何题
  • QT —— QWidget(1)
  • 白皮解读:数据流通关键技术白皮书【附全文阅读】
  • MNN 支持 DeepSeekVL
  • shell入门
  • 通过Docker部署Prometheus + Grafana搭建监控平台【超详细版】
  • 驱动总裁v2.19(含离线版)驱动工具软件下载及安装教程
  • 实用在线工具箱OmniTools
  • Python硬核革命:从微控制器到FPGA的深度开发指南
  • 多模态大语言模型arxiv论文略读(五十七)
  • Java响应式编程
  • DeepSeek实战--蒸馏
  • Java快速上手之实验六
  • Scrapy框架之【settings.py文件】详解
  • 开源项目实战学习之YOLO11:ultralytics-cfg-models-rtdetr(十一)
  • 强化学习:山地车问题
  • 【信息系统项目管理师】【论文】项目背景-通用部分(可背诵)
  • P1434 [SHOI2002] 滑雪
  • NVMe控制器之完成信息解析模块
  • Rotary Positional Embedding
  • FastAPI系列14:API限流与暴力破解防护