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

蓝桥杯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;
} 

相关文章:

  • 基于 ESP32 和 GC9D01 0.71寸TFT屏幕的逼真眼睛与写轮眼动态显示
  • 2025年- H26-Lc134- 226. 翻转二叉树(树)---java版
  • 《AI大模型应知应会100篇》第48篇:构建企业级大模型应用的架构设计
  • STM32教程:ADC原理及程序(基于STM32F103C8T6最小系统板标准库开发)*详细教程*
  • 01背包专题4:小A点菜
  • Q_OBJECT宏的作用
  • 深度学习中保存最优模型的实践与探索:以食物图像分类为例
  • 【nlohmann\json.hpp】‘_snprintf‘: is not a member of ‘std‘
  • Uni-app 组件使用
  • Git 远程操作
  • 二叉搜索树的最近祖先(递归遍历)
  • 《工业社会的诞生》章节
  • 信息系统监理师第二版教材模拟题第二组(含解析)
  • 【锂电池剩余寿命预测】RF随机森林锂电池剩余寿命预测(Pytorch完整源码和数据)
  • 移动 Trae 目录到 E 盘 - 解决 C 盘空间不足问题
  • 身份认证、访问控制技术、SSO单点登录技术、特权访问管理、身份治理与管理——数据安全守护者
  • 智能合约部署之全国职业院校技能大赛“区块链技术应用”赛项—“航班延误险案例”
  • 第四节:OpenCV 基础入门-第一个 OpenCV 程序:图像读取与显示
  • HTML5实战指南:语义化标签与表单表格高级应用
  • Spring Cloud Gateway路由+断言+过滤
  • 手机网站用什么开发/今日新闻简讯30条
  • 国外优秀app设计网站有哪些/北京seo外包
  • 我的世界做皮肤的网站/站长统计官方网站
  • 网站建设误区图/企业网站优化工具
  • 网站开发设计实训实训总结/网络营销的发展趋势
  • 深圳市网站设计公司/网站运营工作内容