#3748. 数字问题-2.2-数字谜题破解
数字问题-2.2-数字谜题破解
题目描述
在一些游戏与休闲的书刊中,经常会看到如下的数字谜:
VINGT
CINQ
+ CINQ
----------
TRENTE
试编写一个程序进行破解。
说明
数字谜的规则如下:
- 不同的英文字母表示不同的数字。因此,题目中最右边一行的T、Q、E就是不同的数。
- 每一个数最左边一位不是0。所以上面的谜题中,V、C、T都不是0。
- 上面的题目是加法,表示VINGT这个五位数与CINQ这个四位数的两倍相加后,会得到TRENTE这个六位数,并且数字的安排如谜语所示。
输入格式
第一行,一个由大写字母组成的字符串,表示被加数 第二行,一个由大写字母组成的字符串,表示加数1 第三行,一个由大写字母组成的字符串,表示加数2 第四行,一个字符串表示输出的结果
输出格式
输出所有可能的解,每行一个解,格式为:
C=6 E=7 G=5 I=4 N=8 Q=3 R=0 T=1 V=9
每个解,需要按照字母的ascii码的顺序输出,就是ascii码小的字母排前面,ascii码大的子母排后面 如果有个多个解,则计算所有子母的解的和排序,和小的先输出 如果和也相同,则把每个字母的值挨个比较,优先输出小的
如果没有解,输出"NO SOLUTION"。
示例输入1
VINGT
CINQ
CINQ
TRENTE
示例输出1(可能的所有解)
C=6 E=7 G=5 I=4 N=8 Q=3 R=0 T=1 V=9
示例输入2
A
B
C
D
示例输出1(可能的所有解)
A=1 B=2 C=3 D=6
A=1 B=3 C=2 D=6
A=2 B=1 C=3 D=6
A=2 B=3 C=1 D=6
A=3 B=1 C=2 D=6
A=3 B=2 C=1 D=6
A=1 B=2 C=4 D=7
A=1 B=4 C=2 D=7
A=2 B=1 C=4 D=7
A=2 B=4 C=1 D=7
A=4 B=1 C=2 D=7
A=4 B=2 C=1 D=7
A=1 B=2 C=5 D=8
A=1 B=3 C=4 D=8
A=1 B=4 C=3 D=8
A=1 B=5 C=2 D=8
A=2 B=1 C=5 D=8
A=2 B=5 C=1 D=8
A=3 B=1 C=4 D=8
A=3 B=4 C=1 D=8
A=4 B=1 C=3 D=8
A=4 B=3 C=1 D=8
A=5 B=1 C=2 D=8
A=5 B=2 C=1 D=8
A=1 B=2 C=6 D=9
A=1 B=3 C=5 D=9
A=1 B=5 C=3 D=9
A=1 B=6 C=2 D=9
A=2 B=1 C=6 D=9
A=2 B=3 C=4 D=9
A=2 B=4 C=3 D=9
A=2 B=6 C=1 D=9
A=3 B=1 C=5 D=9
A=3 B=2 C=4 D=9
A=3 B=4 C=2 D=9
A=3 B=5 C=1 D=9
A=4 B=2 C=3 D=9
A=4 B=3 C=2 D=9
A=5 B=1 C=3 D=9
A=5 B=3 C=1 D=9
A=6 B=1 C=2 D=9
A=6 B=2 C=1 D=9
输入数据3:
AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBB
输出数据3:
A=1 B=3
A=2 B=6
A=3 B=9