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

洛谷 B3843:[GESP202306 三级] 密码合规 ← 字符串

【题目来源】
https://www.luogu.com.cn/problem/B3843
https://oj.czos.cn/p/3352

【题目描述】
网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。合规的密码应满足以下要求 :
1. 只能由 a∼z 之间 26 个小写字母、A∼Z 之间 26 个大写字母、0∼9 之间 10 个数字以及 !@#$ 四个特殊字符构成。
2. 密码最短长度:6 个字符,密码最大长度:12 个字符。
3. 大写字母,小写字母和数字必须至少有其中两种,以及至少有四个特殊字符中的一个。

【输入格式】
输入一行不含空格的字符串。约定长度不超过 100。该字符串被英文逗号分隔为多段,作为多组被检测密码。

【输出格式】
输出若干行,每行输出一组合规的密码。输出顺序以输入先后为序,即先输入则先输出。

【输入样例】
seHJ12!@,sjdkffH$123,sdf!@&12HDHa!,123&^YUhg@!

【输出样例】
seHJ12!@
sjdkffH$123

【样例解释】
输入被英文逗号分为了四组被检测密码:seHJ12!@、sjdkffH$123、sdf!@&12HDHa!、123&^YUhg@!。其中 sdf!@&12HDHa! 长度超过 12 个字符,不合规;123&^YUhg@! 包含四个特殊字符之外的字符不合规。

【数据范围】
字符串长度不超过 100。

【算法分析】
● 对于输入的每一组密码,分别进行以下检查:
(1)长度检查:判断密码长度是否在 6 到 12 个字符之间。
(2)字符组成检查:遍历密码中的每个字符,判断是否属于合规字符集合。
(3)字符种类检查:统计大写字母、小写字母、数字和特殊字符的个数,判断“大写字母、小写字母、数字”是否至少满足两种,且至少一个特殊字符的条件。

● 特别注意:循环结束后新增 if(!t.empty() && check(t)){…},确保末尾无逗号的子串也能被检查和输出。

【算法代码】

#include<bits/stdc++.h>
using namespace std;bool check(string s) {int a=0,b=0,c=0,d=0,e=0;for(int i=0; i<s.size(); 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]=='$') d=1;else e=1;}if(s.size()<6 || s.size()>12) return false;if(a+b+c<2 || d==0 || e==1) return false;return true;
}int main() {string s,t;cin>>s;for(int i=0; i<s.size(); i++) {if(s[i]!=',') t+=s[i];else {string str=t;if(check(str)) cout<<str<<endl;t="";}}// Process the last substring that does not end with a commaif(!t.empty() && check(t)) {cout<<t<<endl;}return 0;
}/*
in:
seHJ12!@,sjdkffH$123,sdf!@&12HDHa!,123&^YUhg@!out:
seHJ12!@
sjdkffH$123
*/



【参考文献】
https://www.luogu.com.cn/problem/solution/B3843
https://blog.csdn.net/2403_87858277/article/details/144433453

 

http://www.jsqmd.com/news/470179/

相关文章:

  • 2026自动化行业正规机床控制箱供应商推荐:数控控制箱/机床控制机箱/美卡诺控制机箱/美卡诺防爆箱/聚酯防爆机箱/选择指南 - 优质品牌商家
  • 2026辽宁优秀律师事务所排行民商案件代理指南:辽宁劳动争议律师/辽宁合同纠纷律师/辽宁婚姻家庭律师/辽宁家事财富传承律师/选择指南 - 优质品牌商家
  • 双金属耐磨弯头厂家/双金属耐磨管道厂家/耐磨管道厂家盘点2026年优质供应商推荐:渤洋管道领衔 - 栗子测评
  • 耐磨管道厂家哪家好?2026年靠谱的耐磨陶瓷弯头厂家/碳化硅耐磨弯头厂家推荐:渤洋管道领衔 - 栗子测评
  • 川内优质门业及铝合金窗品牌推荐榜:防爆门、防盗门、隔音门、不锈钢门、保温门、别墅大门、医院门、单元门、学校门、实木门选择指南 - 优质品牌商家
  • 2026金融行业商标设计优质服务商推荐榜:公司商标设计/农产品logo设计/农产品商标设计/医疗健康logo设计/选择指南 - 优质品牌商家
  • 2026年评价高的外墙防水修缮工厂推荐:卫生间防水修缮/高端住宅防水修缮品牌厂家推荐 - 品牌宣传支持者
  • 2026鲁冀诚信电梯更新服务优质推荐榜:济南电梯保养/济南电梯改造/济南电梯更新/济南电梯维修/电梯更新/电梯保养/选择指南 - 优质品牌商家
  • 2026年评价高的自建房防水修缮厂家推荐:地下室防水修缮/阳光房防水修缮优质供应商推荐 - 品牌宣传支持者
  • 2026年知名的电动平车锂电池品牌推荐:观光小火车锂电池工厂直供推荐 - 品牌宣传支持者
  • 2026年知名的房车锂电池公司推荐:电动平车锂电池直销厂家推荐 - 品牌宣传支持者
  • 2026成都工程合同纠纷专业律所推荐榜:成都合同纠纷律师事务所推荐、成都施工合同纠纷律师事务所、成都物业合同纠纷律师事务所选择指南 - 优质品牌商家
  • 2026透光混凝土优质供应商推荐榜定制化能力突出:发光混凝土、售楼部GRG、商场GRG、四川GRG厂家、四川透光混凝土厂家选择指南 - 优质品牌商家
  • 2026全屋定制优质品牌推荐榜智能环保适配精英家庭:绵阳榻榻米定制/绵阳橱柜定制/绵阳玄关柜定制/绵阳现代极简全屋定制/选择指南 - 优质品牌商家
  • 2026成都厨房设备回收优质服务商推荐榜:二手办公家具回收/二手办公电脑回收/二手空调回收/成都KTV设备回收/选择指南 - 优质品牌商家
  • 2026年知名的钢丝建筑网片厂家推荐:工地建筑网片/带肋建筑网片精选公司 - 品牌宣传支持者
  • 2026年隔声涂层优质品牌推荐榜:楼板隔声涂料、隔音材料、丙烯酸复合橡胶保温找平层、丙烯酸复合橡胶弹性隔声厂家选择指南 - 优质品牌商家
  • 2026点胶灌胶选型不踩坑:灌胶机厂家、点胶机厂家品牌哪家好?天丰泰深圳点胶机质量有保障 - 栗子测评
  • 2026年比较好的电焊钢筋网片公司推荐:冷拔丝钢筋网片工厂直供推荐 - 品牌宣传支持者
  • 2026优质油缸油泵密封件品牌推荐指南:O型圈密封件/丁晴橡胶密封件/三元乙丙橡胶密封件/橡胶真空吸盘密封件/氮气弹簧密封/选择指南 - 优质品牌商家
  • 2026年诚信防静电木基地板优质厂家推荐指南:全钢防静电地板厂家、全铝防静电地板厂家、复合防静电地板厂家、成都防静电地板厂家选择指南 - 优质品牌商家
  • 2026成都公司注册优质服务品牌推荐榜:资质升级代理代办/一般纳税人代理记账/专业代理记账/专业资质代理代办/中小企业代理记账词/选择指南 - 优质品牌商家
  • UID9622专属 · 龍魂系统 · 耻辱墙·错误记账本(notion完整自动化MVP深度捆绑正在搭建)
  • ROS 搭建DHCP Relay Server(DHCP中继服务器)
  • 2026-03-13 GitHub 热点项目精选
  • 四川优质定制玻璃酒瓶厂家推荐榜:定制玻璃酒瓶哪家好、定制玻璃酒瓶皮肤厂家、定制精白玻璃酒瓶、宝宝宴定制玻璃酒瓶选择指南 - 优质品牌商家
  • 2026年靠谱的边缘焊接波纹管公司推荐:碟片式焊接波纹管/不锈钢焊接金属波纹管口碑好的厂家推荐 - 品牌宣传支持者
  • 2026年热门的波纹管管道品牌推荐:不锈钢真空焊接波纹管厂家选择指南 - 品牌宣传支持者
  • 2026年评价高的围挡工厂推荐:市政围挡推荐公司 - 品牌宣传支持者
  • 成渝地区优质隐藏式检修口品牌推荐榜:检修口生产厂家/石膏双铝边检修口/碰珠下翻检修口/空调百叶风口/装饰线条风口/选择指南 - 优质品牌商家