CF1931A.Recovering a Small String

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

Recovering a Small String

题目描述

Nikita 有一个由恰好 33 个小写拉丁字母组成的单词。拉丁字母表中的字母编号从 112626,其中字母 "a" 的编号为 11,字母 "z" 的编号为 2626

他将这个单词编码为所有字母在字母表中的位置之和。例如,单词 "cat" 会被编码为整数 3+1+20=243 + 1 + 20 = 24,因为字母 "c" 在字母表中的编号为 33,字母 "a" 的编号为 11,字母 "t" 的编号为 2020

然而,这种编码方式是有歧义的!例如,编码单词 "ava" 时,也会得到整数 1+22+1=241 + 22 + 1 = 24

请你确定可能被编码成给定整数的字典序最小的 33 个字母组成的单词。

如果字符串 aa 在字典序上小于字符串 bb,当且仅当满足以下条件之一:

  • aabb 的前缀,且 aba \ne b
  • aabb 第一个不同的位置,aa 的字母在字母表中比 bb 的对应字母更靠前。

输入格式

输入的第一行包含一个整数 tt1t1001 \le t \le 100),表示测试用例的数量。

接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn3n783 \le n \le 78),表示编码后的单词。

输出格式

对于每个测试用例,输出一个单独的行,表示可能被编码的字典序最小的三个字母组成的单词。

说明/提示

由 ChatGPT 4.1 翻译

样例

5
24
70
3
55
48
aav
rzz
aaa
czz
auz

在线编程 IDE

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