牛客21805 字符串编码与解码
生活随笔
收集整理的這篇文章主要介紹了
牛客21805 字符串编码与解码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈接:https://ac.nowcoder.com/acm/problem/21805
來源:??途W
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 32768K,其他語言65536K
64bit IO Format: %lld
題目描述
給你兩個長度相同的字符串a,b,現在已知b是a編碼之后的結果
比如a = “CAT”, b = “DOG”, 那么D其實是C,O其實是A,G其實是T
現在給你一個字符串c,如果c能夠被解碼出來,輸出c解碼后的字符串,如果不能輸出@
輸入描述:
輸入三行,每行一個字符串,長度在50以內
輸出描述:
輸出一個字符串
這里需要注意的是如果給出了25個字母,那么剩下的這個字母的解碼情況是可以推導出來的。
a = input() b = input() c = input()l = [] n = len(a) for i in range(n):l.append(b[i]) res = "" d = dict(zip(b,a)) all = set('ABCDEFGHIJKLMNOPQRSTUVWXYZ') m = len(set(b))# 如果給出了25個字母,那么剩下的這個可以推導出來 if m==25:x = all - set(a) # 利用集合的性質進行推導y = all - set(b)x = ''.join(x) # 字典轉成字符串 y = ''.join(y)d[y] = x # 將推導出來的這個鍵值對添加進字典 for i in range(len(c)):if c[i] not in l and m!=25:print("@")breakelse:res += d[c[i]] else:print(res)總結
以上是生活随笔為你收集整理的牛客21805 字符串编码与解码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统 —— 设备管理
- 下一篇: 牛客15666 又见斐波那契(矩阵快速幂