思路:
将所有可能性枚举(包含前导零非法,但单个0合法)
当s1的可能情况与s2的可能情况相同是,即为所求
Python 代码
h = {}
s = ['0', '1', '2']
s1 = str(input())
s2 = str(input())
for i in range(len(s1)):
for j in range(2):
if s1[i] != s[j]:
if i == 0 and j == 0 and len(s1) > 1: continue # 包含前导0的数字不能加入h
x = int(s1[:i] + s[j] + s1[i + 1:], 2)
h[x] = 1
for i in range(len(s2)):
for j in range(3):
if s2[i] != s[j]:
if i == 0 and j == 0 and len(s2) > 1: continue
x = int(s2[:i] + s[j] + s2[i + 1:], 3)
if x in h:
print(x)
exit(0)