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

牛客--字符串加密

描述

对于给定的字符串 ss ,我们可以利用其进行加密。
具体地,首先先将 ss 进行去重,即如果 ss 中存在重复的字母,则只保留第一次出现的字母。随后,从 "a""a" 开始依次在字符串末尾补充 ss 中未出现的字母,使得 ss 成为一个完整的字母表。
最后,对于给定的明文 tt ,我们利用上述字母表进行加密,即对于 tt 中的每个字母,替换为 ss 构建得到的新字母表中相同位置的字母。

输入描述:

第一行输入一个长度为 1≦length(s)≦1001≦length(s)≦100 ,仅由小写字母构成的字符串 ss ,代表待构建的新字母表底串。
第二行输入一个长度为 1≦length(t)≦1001≦length(t)≦100 ,仅由小写字母构成的字符串 tt ,代表需要加密的明文。

输出描述:

在一行上输出一个字符串,代表加密后的密文。

输入:trailblazers
     attackatdawn
输出:tpptadtpitvh
说明:
在这个样例中,加密的操作如下:
对 s 进行去重 得到 trailbzes
随后从 "a" 开始依次在字符串末尾补充 s中未出现的字母,得到 trailbzescdfghjkmnopquvwxy ;
最后,对于 t 中的每个字母,替换为 s 构建得到的新字母表中相同位置的字母。我们可以列出对照表:
[abcdefghijklmnopqrstuvwxyz
trailbzescdfghjkmnopquvwxy]

最后,对于 t 中的每个字母,替换为 s 构建得到的新字母表中相同位置的字母,得到 tpptadtpitvh 。
import sys
b = []
for line in sys.stdin:
    a = line.split()
    b.extend(a)
origin_s = ''.join(dict.fromkeys(b[0]))
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for i in alphabet:
    if i not in origin_s:
        origin_s += i
conf_t = b[1]
al = {}
for a,s in zip(alphabet,origin_s):
    al[a] = s
result = ''
for j in conf_t:
    result += al[j]
print(result)


http://www.kler.cn/a/440770.html

相关文章:

  • 常见软件设计模式介绍:三层架构、MVC、SSM、EDD、DDD
  • 通过使用 contenteditable=“true“,我们彻底防止了 iOS 系统键盘的弹出
  • 家具购物小程序+php
  • Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架
  • AIDD-人工智能药物设计-ChemDraw Mac版pojie安装
  • 基于Spring Boot的数码产品抢购系统
  • 常见的数据结构和应用场景
  • Serverless核心组件、最佳实践及性能优化
  • 向量数据库Faiss C++
  • Hololens 2 Unity VS2019编译报错解决方案
  • Go, Jocko, Kafka
  • 渗透测试学习笔记(五)网络
  • u3d动画系统六【动画根运动】
  • AI视频配音技术创新应用与商业机遇
  • 基于 Cell 架构的安全防护:现代应用程序领域的深度剖析与应对策略
  • 中英文网店系统运营风险 跨境电商平台法律与税务处理
  • 工业大数据分析算法实战-day07
  • #Js篇:map结构转普通js普通对象
  • Python毕业设计选题:基于django+vue的宠物服务管理系统
  • 汽车故障码 B100117 供电电压过高的解析及消除方法