UVA468 Key to Success
题目描述
### 题目背景
任意一种一对一的字母映射 $f$,都可以通过替换字母 $c$ 为 $f(c)$ 对字符串进行编码。
举一个例子:对于每个字母,都将映射成他之后的三个字母。也就是说,$a \to d, b \to e, c \to f, e \to g$ 以此类推。
以这种规则进行映射后,`The car is blue` 将被编码成 `Wkh fdu lv eoxh`。
现在要求你编写一个按照下面的规则进行解码的程序,规则如下:
1. 只需要解码字母。字母只会被映射成字母。大写字母与小写字母的映射是不同的。
2. 字母映射是**一对一**的。也就是说,两个字母永远不会映射到同一个字母。
3. 对于每组数据,有两个字符串,第一个字符串是未编码的,第二个字符串是已编码的。
4. 第二个字符串保证是第一个字符串编码后的结果。
5. 每个字符映射都是按照字母出现的**频率**进行编码的。保证没有字母的出现频率相同。也就是说:第一个字符串中出现频率最高的字母对应第二个字符串中出现频率最高的字幕,出现频率第二高的字母对应出现频率第二高的字母......
输入格式
一行一个正整数表示数据组数。与下面的数据有空行分隔。
接下来每组数据,都有两个按照上面的规则生成的字符串。
每组数据之间都有空行分隔。
输出格式
每组数据输出一个按照上面的规则解码后的字符串。
每个字符串之间以空行分隔。
**注意:最后一个字符串后无需空行!**
### 输入样例
```plain
1
abacxbacac
qqqqqrrrrssstt
```
### 输出样例
```plain
aaaaaccccbbbxx
```
by Life_Game