当前位置:   article > 正文

华为OD机考统一考试C卷 密码解密(C++题解)_给定一段密文字符串s,其中字符都经过密码本

给定一段密文字符串s,其中字符都经过密码本

(C++)华为OD机考:统一考试 C卷 + D卷 + B卷 +A卷

C卷真题目录:【C++题解版】华为 OD 机试 C卷抽中题库清单(全真题库)含考点说明

专栏:(C++题解)最新华为OD机试C卷+D卷+AB卷

题目描述

给定一段“密文”字符串 s,其中字符都是经过“密码本”映射的,现需要将“密文”解密并输出。

映射的规则(‘a’ ~ ‘i’)分别用(‘1’ ~ ‘9’)表示;(‘j’ ~ ‘z’)分别用(“10*” ~ “26*”)表示。

约束:映射始终唯一。

输入描述

“密文”字符串

输出描述

明文字符串

备注:翻译后的文本长度在100以内

用例

输入 201920*
输出 tst
说明

解题思路

  1. 遍历并检查当前位置后面是否有至少两个字符,并且第三个字符是否为’*',以此判断是否是10到26之间的映射。
  2. 如果是10到26之间的映射:
    • 解析当前位置开始的两位数字。
    • 根据映射规则,将这两位数字转换为对应的字母(‘j’到’z’)。
    • 将转换后的字母追加到明文字符串中。
    • 将当前位置向前移动三位,以跳过处理过的数字和’*'。
  3. 如果不是10到26之间的映射:
    • 解析当前位置的一位数字。
    • 根据映射规则,将这一位数字转换为对应的字母(‘a’到’i’)。
    • 将转换后的字母追加到明文字符串中。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/799898
推荐阅读
相关标签
  

闽ICP备14008679号