#1373. 加法等式

加法等式

【题目描述】

一天,上小学的妹妹跑过来问哥哥一道字母加法等式,哥哥不假思索便给出了一组可行解。聪明的你发现,一个字母等式可能有多种不同解,于是你想编程计算一下。 image

【输入格式】

输入包含多组数据。

每组数据第一行一个整数n,表示有n个字符串,3<=n<=10

接下来n行,每行一个最多包含10个大写字母的字符串,前n-1行字符串表示加数,第n行字符串表示和。

每个样例最多只有10不相同的字母,字母表示0−9的数,相同字母表示相同的数,不同字母表示不同的数。

【输出格式】

对于每组数据输出一个整数,表示不同的可行解的数量。

对于两个可行解,只要有一个字母表示不同的数字,我们就认为这两个可行解不同。

【输入样例】

4

TAI

SHEN

LA

ACER

3

SEND

MORE

MONEY

【输出样例】

76

1

【数据规模】

对于30%的数据,满足最多6个不同的大写字母。

对于100%的数据,满足最多10个不同的大写字母。

【说明】

如果字母数量不相等,右对齐后再计算。

每个字符串最左边的字母表示的数字不能为0.

不保证最后一个字符串的长度大于等于前面的表示加数的字符串的长度。