CF1925A.We Got Everything Covered!

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

We Got Everything Covered!

题目描述

给定两个正整数 nnkk

你的任务是找到一个字符串 ss,使得用前 kk 个小写英文字母能够组成的所有长度为 nn 的字符串都作为 ss 的子序列出现。

如果有多个答案,输出长度最短的那个。如果仍有多个答案,可以输出其中任意一个。

注意:如果字符串 aa 可以通过从字符串 bb 中删除若干(可能为零)个字符且不改变剩余字符的顺序得到,则称 aabb 的一个子序列。

输入格式

输入的第一行包含一个整数 tt1t6761\leq t\leq 676),表示测试用例的数量。

每个测试用例包含一行,包含两个整数 nn1n261\leq n\leq 26)和 kk1k261\leq k\leq 26)。

输出格式

对于每个测试用例,输出一行,包含一个满足上述条件的字符串 ss。如果有多个答案,输出长度最短的那个。如果仍有多个答案,可以输出其中任意一个。

说明/提示

对于第一个测试用例,可以用前 22 个小写英文字母组成的长度为 11 的字符串有两个,它们作为子序列出现在 ss 中,如下所示:

  • a:ab\texttt{a}: {\color{red}{\texttt{a}}}\texttt{b}
  • b:ab\texttt{b}: \texttt{a}{\color{red}{\texttt{b}}}

对于第二个测试用例,只能用第一个小写英文字母组成长度为 22 的字符串,它作为子序列出现在 ss 中,如下所示:

  • aa:aa\texttt{aa}: {\color{red}{\texttt{aa}}}

对于第三个测试用例,可以用前 22 个小写英文字母组成的长度为 22 的字符串有 44 个,它们作为子序列出现在 ss 中,如下所示:

  • $\texttt{aa}: \texttt{b}{\color{red}{\texttt{aa}}}\texttt{b}$
  • ab:baab\texttt{ab}: \texttt{ba}{\color{red}{\texttt{ab}}}
  • ba:baab\texttt{ba}: {\color{red}{\texttt{ba}}}\texttt{ab}
  • $\texttt{bb}: {\color{red}{\texttt{b}}}\texttt{aa}{\color{red}{\texttt{b}}}$

对于第四个测试用例,可以用前 33 个小写英文字母组成的长度为 22 的字符串有 99 个,它们作为子序列出现在 ss 中,如下所示:

  • $\texttt{aa}: {\color{red}{\texttt{a}}}\texttt{bcb}{\color{red}{\texttt{a}}}\texttt{c}$
  • $\texttt{ab}: {\color{red}{\texttt{ab}}}\texttt{cbac}$
  • $\texttt{ac}: \texttt{abcb}{\color{red}{\texttt{ac}}}$
  • $\texttt{ba}: \texttt{abc}{\color{red}{\texttt{ba}}}\texttt{c}$
  • $\texttt{bb}: \texttt{a}{\color{red}{\texttt{b}}}\texttt{c}{\color{red}{\texttt{b}}}\texttt{ac}$
  • $\texttt{bc}: \texttt{a}{\color{red}{\texttt{bc}}}\texttt{bac}$
  • $\texttt{ca}: \texttt{ab}{\color{red}{\texttt{c}}}\texttt{b}{\color{red}{\texttt{a}}}\texttt{c}$
  • $\texttt{cb}: \texttt{ab}{\color{red}{\texttt{cb}}}\texttt{ac}$
  • $\texttt{cc}: \texttt{ab}{\color{red}{\texttt{c}}}\texttt{ba}{\color{red}{\texttt{c}}}$

由 ChatGPT 4.1 翻译

样例

4
1 2
2 1
2 2
2 3
ab
aa
baab
abcbac

在线编程 IDE

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