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

题解:洛谷 B4500 [GESP202603 三级] 凯撒密码

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

洛谷:B4500 [GESP202603 三级] 凯撒密码 - 洛谷

【题目描述】

凯撒密码是一种替换加密技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3 33的时候,所有的字母A AA将被替换成D DDB BB被替换成E EEC CC被替换成F FF,以此类推,W WW被替换成Z ZZX XX被替换成A AAY YY被替换成B BBZ ZZ被替换成C CC。这个加密方法是以罗马共和时期凯撒的名字命名的,据称当年凯撒曾用此方法与其将军们进行联系。

但是和所有的利用字母表进行替换的加密技术一样,凯撒密码非常容易被破解,而且在实际应用中也无法保证通信安全。

现在给你一个已破解的凯撒密码明文与密文,与一个有相同偏移量的未破解凯撒密码密文,请你帮忙破解它。

【输入】

输入共三行:

第一行包含一个字符串,表示已破解的凯撒密码明文;

第二行包含一个字符串,表示已破解的凯撒密码密文;

第三行包含一个字符串,表示待破解的凯撒密码密文。

【输出】

输出一行,包含一个字符串,表示待破解的凯撒密码对应的明文。

【输入样例】

ABCDEFGVWXYZ DEFGHIJYZABC WKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ

【输出样例】

THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG

【算法标签】

#入门 #字符串入门

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;string a,b,c;// 定义三个字符串:a(明文1), b(密文1), c(要解密的字符串)intmain()// 主函数入口{// 输入:a是已知明文,b是已知密文,c是要解密的密文cin>>a>>b>>c;// 计算加密位移量:b[0]和a[0]的ASCII码差值intdelta=b[0]-a[0];// 遍历要解密的字符串c的每个字符for(inti=0;i<c.size();i++){intnum=c[i]-'A';// 将字符转换为0-25的数字// 进行解密计算:减去位移量,然后取模26确保在0-25范围内num=(num-delta+26)%26;c[i]='A'+num;// 将数字转换回字符}// 输出解密后的字符串cout<<c<<endl;return0;// 程序正常结束}

【运行结果】

ABCDEFGVWXYZ DEFGHIJYZABC WKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG
http://www.jsqmd.com/news/1108762/

相关文章:

  • 儿童近视防控眼科机构咋选择
  • 2026超一线城市小程序开发公司深度评测:定制开发、交付能力与企业口碑全景解析,含零代码SAAS、AI编程、源码定制
  • 5大核心优化技巧:让老旧Android电视流畅播放高清直播的终极方案
  • 从Kali工具使用到EXP开发:安全测试源码分析与实战指南
  • 6款实用AI降重软件推荐,合规改写不踩学术红线
  • 被问到为何中间有一段长达半年的求职空窗期?留学生用积极事实消除疑虑「蒸汽求职分享」
  • 腾讯会议多端接入音视频稳定技术方案
  • 修复WSL2的PATH变量:解决交叉编译RK3506环境问题的首选方案
  • ICM-42688-P与PIC18F2680在运动控制与传感融合中的应用
  • 如何使用C++标准输入流cin读取字符串?
  • 【Vibe Coding从入门到精通】第13篇:团队协作中的Vibe Coding——从个人利器到团队武器
  • 构建小程序全自动安全审计体系:从原理到实践
  • 为什么机电维修师傅都在换 18KV 塑钢头绝缘鞋?轻便防护两不误
  • 2026年中盘点:什么八字排盘软件好用?第三方测评拆到排盘底层
  • OpenCore Legacy Patcher:让旧Mac重获新生,体验最新macOS的终极指南
  • CRM系统通俗讲解,一文理清客户管理工具全部知识
  • 惠普tank1005,tank2606,tank2604,tank1020开机报错ER08闪黄灯,加了2包粉问题没有修好,最终解决方法是通过er08清除软件修好 ,几分钟就自己修好了,省480元维修费
  • 类脑AI落地实战:从脉冲神经网络到工业故障预测
  • FOC无刷电机控制方案:高精度与高效率的实现
  • 适配2-5串锂电!XSP30升降压快充芯片功能与布线解析
  • 2026年第三届“聚合獬豸杯”全国电子数据取证大赛(计算机部分)详细版Wireup
  • 网络流量安全测试实战:从漏洞扫描到渗透测试的纵深防御策略
  • FBA退货换标海外仓系统哪个靠谱?易境通WMS逆向物流解决方案
  • 2026年主流AI API接口平台横评:价格、延迟、模型覆盖对比
  • MediaPipe TouchDesigner插件深度解析:GPU加速实时机器学习视觉处理架构设计
  • STM32与PCF8591的I2C通信与数据采集设计
  • 构建泰拉瑞亚模组生态:tModLoader深度开发指南
  • YOLOv10模型改进-Backbone改进-第58篇:YOLOv10改进策略【Backbone】| MobileNetV3 Backbone替换
  • 信贷风控模型选型实战:逻辑回归为何仍是压舱石
  • STM32F401RE与TC78H660FTG的无刷电机驱动方案解析