АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

1595. Замощение треугольниками

Ограничение времени: 2.5 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Рассмотрим фигуру из одинаковых кружочков, имеющую следующий вид.

Фигура состоит из n горизонтальных уровней, i-й из которых, в свою очередь, содержит i кружочков. Соседние кружочки на каждом уровне касаются; кроме того, для любого уровня i < n j-й кружочек i-го уровня касается j-го и (j + 1)-го кружочков (i + 1)-го уровня. Пример такой фигуры для n = 4 показан на рисунке. Уровни нумеруются с единицы сверху вниз; кружочки на одном уровне нумеруются с единицы слева направо.

Треугольником будем называть три попарно касающихся кружочка. Замощением фигуры треугольниками назовём разбиение множества всех кружочков фигуры на треугольники.

Будем записывать замощения следующим образом. Если у треугольника на более высоком уровне находится один кружочек, а на более низком — два, то кружочки, содержащиеся в этом треугольнике, обозначаются заглавной латинской буквой 'A'. Если же у треугольника на более высоком уровне два кружочка, а на более низком — один, то кружочки этого треугольника обозначаются заглавной латинской буквой 'B'. Сравнивать записи замощений будем как упорядоченные последовательности строк.

Рассмотрим все возможные замощения кружочками фигуры из n уровней; упорядочим их лексикографически. Выведите запись k-го в этом порядке замощения.

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

В первой строке даны через пробел два целых числа n и k (1 ≤ n ≤ 23, 0 ≤ k ≤ 109). Гарантируется, что k-е замощение фигуры из n уровней существует. Замощения нумеруются с нуля.

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

В первые n строк выведите запись лексикографически k-го замощения фигуры из n уровней. В i-й строке должны быть выведены буквы, соответствующие записи i-го уровня фигуры. Соседние буквы могут быть отделены друг от друга любым (возможно, нулевым) количеством пробелов. Допускается также любое (возможно, нулевое) количество пробелов в начале и в конце каждой строки.

Пример

Входные данные
2 0
Выходные данные
 A
A A


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Сборы в Перми 2009 / 07.07.09 Малый контест /
1594. B - k-почтимонотонность 1595.
 
время генерации 0.172 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.