CF1974B.Symmetric Encoding

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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'。


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

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

输入格式

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

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

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

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

输出格式

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

输入输出样例

  • 输入#1

    5
    10
    serofedsoc
    3
    ttf
    9
    tlrhgmaoi
    1
    w
    15
    hnndledmnhlttin

    输出#1

    codeforces
    fft
    algorithm
    w
    meetinthemiddle

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页