Олимпиадный тренинг

Задача . A. Покрыть всё!


Вам дано два положительных целых числа \(n\) и \(k\).

Ваша задача найти строку \(s\) такую, что все возможные строки длины \(n\), которые состоят из первых \(k\) прописных букв латинского алфавита, присутствуют в \(s\) как подпоследовательность.

Если существует несколько ответов, выведите ответ минимальной длины. Если таких ответов существует несколько — можно вывести любой.

Примечание: Строка \(a\) называется подпоследовательностью другой строки \(b\), если \(a\) может быть получена удалением нескольких (возможно нуля) символов из \(b\) без изменения порядка оставшихся символов.

Входные данные

В первой строке содержится одно целое число \(t\) (\(1\leq t\leq 676\)) означающее количество наборов входных данных.

Каждый набор входных данных состоит из одной строки, содержащей два целых числа \(n\) (\(1\leq n\leq 26\)) и \(k\) (\(1\leq k\leq 26\)).

Выходные данные

Для каждого набора входных данных выведите одну строку \(s\) которая удовлетворяет условиям. Если существует несколько ответов, выведите ответ минимальной длины. Если таких ответов существует несколько — можно вывести любой.

Примечание

В первом наборе входных данных существует две строки длины \(1\) которые могут быть получены используя первые \(2\) прописные буквы латинского алфавита, и они входят в \(s\) как подпоследовательности:

  • \(\texttt{a}: {\color{red}{\texttt{a}}}\texttt{b}\)
  • \(\texttt{b}: \texttt{a}{\color{red}{\texttt{b}}}\)

Во втором наборе входных данных существует только одна строка длины \(2\) которая может быть получена используя лишь первую прописную букву латинского алфавита, и она входит в \(s\) как подпоследовательность:

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

В третьем наборе входных данных существует \(4\) строки длины \(2\) которые могут быть получены с использованием первых \(2\) прописных букв латинского алфавита, и они входят в \(s\) как подпоследовательности:

  • \(\texttt{aa}: \texttt{b}{\color{red}{\texttt{aa}}}\texttt{b}\)
  • \(\texttt{ab}: \texttt{ba}{\color{red}{\texttt{ab}}}\)
  • \(\texttt{ba}: {\color{red}{\texttt{ba}}}\texttt{ab}\)
  • \(\texttt{bb}: {\color{red}{\texttt{b}}}\texttt{aa}{\color{red}{\texttt{b}}}\)

В четвертом наборе входных данных существует \(9\) строк длины \(2\) которые могут быть получены с использованием первых \(3\) прописных букв латинского алфавита, и они входят в \(s\) как подпоследовательности:

  • \(\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}}}\)

Примеры
Входные данныеВыходные данные
1 4
1 2
2 1
2 2
2 3
ab
aa
baab
abcbac

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя