链接
题目描述
有三个字符串,现在这三个字符串用一些大写字母代替,每个字母代表一个数字,相同的字母为相同的数字,现在要给出每个字母对应的数字,使得加法成立
字母是按A往后去计,有多少个字母就是多少进制
输入
5
ABCED
BDACE
EBBAA
输出
1 0 3 4 2
思路
考虑深搜,枚举每一个字母可能对应的数字
然后剪枝
设 t t t为上一位加完之后的进位
那么很显然
若满足 a + b + t ≠ c a+b+t \neq c a+b+t=c则显然当前枚举情况是错误的
若满足当前是最后一位且 a + b > n a+b>n a+b>n那么肯定也是错的,因为最高只有n位,不可能进位
因为是加法, 那么进位仅可能是0或1
那么如果满足 a + b ≠ c a+b \neq c a+b