解题思路:
用排除法来判断是否有解法,踢去不可能的,则是存在的
注意事项:
参考代码:
s1 = input().strip() s2 = input().strip() s3 = input().strip() num = [] num1 = [] # 构建密码字典 dict = {} for i in range(len(s1)): dict.setdefault(s1[i],s2[i]) #创建字典 num.append((s1[i],s2[i])) for i in range(len(s1)): a1,b1 = num[i] for j in range(len(s2)): a2,b2 = num[j] if a1 == a2 and b1 != b2: #判断是否一一对应,如果否,则退出 print("Failed") quit() if len(dict) != 26: print("Failed") quit() # 执行上述代码没有退出,则有密码字典 for i in s3: if i in dict.keys(): num1.append(dict.get(i)) print("{}".format("".join(num1)))
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:525 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2081 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1176 |
众数问题 (C语言代码)浏览:830 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:661 |
Tom数 (C语言代码)浏览:495 |
输入输出格式练习 (C语言代码)浏览:753 |
简单的a+b (C语言代码)浏览:504 |
【出圈】 (C++代码)简单循环浏览:640 |
平方数问题,oj一直是wrong answer浏览:739 |