1187 : 密文破解
Time Limit: 1 Sec Memory Limit: 128 MB Submitted: 71 Solved: 6Description
我军特工探知了敌军的信息加密方式,但尚未获得密钥。已知敌军所有的信息都是码值在 1-127
之内的 ASCII 字符。敌军以 5 个字符为单位加密信息。设 p0p1p2p3p4 是 5 个待加密的字符,敌军将这 5 个字符与另外 9 个密钥 k0, …, k8 混合起来产生对应的 5 个整数型密文 e0, …, e4。已知这 9 个密钥也是码值在 1-127
间的 ASCII 字符。其混合原则如下:
ei = p0 ⋅ ki + p1 ⋅ ki + 1 + p2 ⋅ ki + 2 + p3 ⋅ ki + 3 + p4 ⋅ ki + 4
我军特工以生命为代价换来了一小串明文和对应的密文。你的任务是找到密钥,并破解另一组被我军截获的敌军密文。
Input
每组数据第一行是一串长度不超过100,至少 10 个只包含ASCII码值在32~126
的字符(即常用可见字符)明文。
第二行是明文中前 5 个字符对应的密文,分别是用空格分开的 5 个整数;
第三行是明文中第 6 个到第 10 个字符对应的密文,分别是用空格分开的 5 个整数。
后续的每一行都是用空格分开的 5 个整数,代表需要你破解的 5 个密文字符。 5 个 -1 表示一组数据结束,不超过20行。
总共不超过100组数据。
Output
按顺序给出输入文件中需要你破解的密文对应的明文,数据保证有解。
Sample
John Q. Crackjack 30096 28880 32662 34217 36518 22426 23187 28934 27877 29942 34391 35683 39956 40657 45237 33044 30700 34923 37133 38330 37200 37645 43055 43698 47491 32574 30389 35225 36978 38050 -1 -1 -1 -1 -1
Squeamish ossifrage.
Hint
已知 10 个明文字符和对应的密文就足以找到密钥。