CF1974B.Symmetric Encoding

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Symmetric Encoding

题目描述

Polycarp 有一个字符串 ss,由小写拉丁字母组成。他使用如下算法对该字符串进行编码:

  • 首先,他构造一个新的辅助字符串 rr,该字符串由 ss 中所有不同的字母按字母表顺序排列而成;
  • 然后进行编码:将 ss 中的每个字符替换为其在字符串 rr 中的对称字符(即 rr 的第一个字符被替换为最后一个,第二个被替换为倒数第二个,依此类推)。

例如,对字符串 ss = "codeforces" 进行编码的过程如下:

  • 得到字符串 rr 为 "cdefors";
  • 第一个字符 s1s_1 = 'c' 被替换为 's';
  • 第二个字符 s2s_2 = 'o' 被替换为 'e';
  • 第三个字符 s3s_3 = 'd' 被替换为 'r';
  • ...
  • 最后一个字符 s10s_{10} = 's' 被替换为 'c'。


字符串 rrss = "codeforces" 的替换过程。因此,字符串 ss = "codeforces" 编码后的结果为 "serofedsoc"。

请编写一个程序,实现解码操作——即根据编码结果还原原始字符串 ss

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5),表示字符串 bb 的长度。

每个测试用例的第二行包含一个长度为 nn 的字符串 bb,由小写拉丁字母组成,表示原始字符串 ss 编码后的结果。

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,输出还原得到的原始字符串 ss

说明/提示

由 ChatGPT 4.1 翻译

样例

5
10
serofedsoc
3
ttf
9
tlrhgmaoi
1
w
15
hnndledmnhlttin
codeforces
fft
algorithm
w
meetinthemiddle

在线编程 IDE

建议全屏模式获得最佳体验