翻译
“这个物品被锁在图书馆二楼一幅画后的一个克莱恩保险箱中。克莱恩保险箱十分稀有,大部分都随着克莱恩和他的工厂在第二次世界大战中损坏了。幸运的是老布鲁博通过研究知道了克莱恩的秘密并去世前将他们写了下来。克莱恩保险箱有两个显著特点:一个使用字母而不是数字的锁,以及一个刻在门上的引文。一个克莱恩引文总是包含通常在句子开头的五到十二个大写字母,并提到一或多个数字。五个大写字母组成打开保险箱的钥匙。通过恰当的方式组合所有数字中的数字你能得到一个数字目标。(构建目标数字的详细信息已经分类)为了找到组合你必须挑选满足下列等式的五个字母 v,w,x,y和z,每个字母都替换为它在字母表中的位置序号(A=1, B=2, ..., Z=26)。然后组合成为vwxyz。如果有超过一种解决方案,则该组合是字典顺序上最大的一个,即在字典中最后出现的那一个。”
v - w*w + x*x*x - y*y*y*y + z*z*z*z*z = 目标
“例如,给定目标1和字母集ABCDEFGHIJKL,一种可能的就决方案为FIECB,因为6 - 9*9 + 5*5*5 - 3*3*3*3 + 2*2*2*2*2 = 1。这种情况下确实有几种解决方案,组合结果为LKEBA。克莱恩认为在雕刻中组合编码是安全的,因为你即使知道秘密,也需要努力几个月去尝试所有可能性。但当然那时计算机还不存在。”
“编写一个程序寻找克莱恩组合,根据部门规定使用标准测试方法。”
输入:
输入由一行或多行组成,包含一个小于一千两百万的正整数,一个空格,至少五个最多十二个大写字母。最后一行包含0和字母END,表示输入结束。
输出:
每一行输出唯一的克莱恩组合,如果没有正确的组合则输出“no solution”,使用如下所示的正确格式。
样例输入:
1 ABCDEFGHIJKL 11700519 ZAYEXIWOVU 3072997 SOUGHT 1234567 THEQUICKFROG 0 END
样例输出:
LKEBA YOXUZ GHOST no solution