АВТ
Language: Russian
English

Remote Training on Programming

Problems Online status Contests
News FAQ E-learning
For authors:
Register  ||  Login
 
Hello, Guest! Please login or register.

1595. Tiling of Triangles

Time Limit: 2.5 seconds
Memory Limit:262144KB
Points:100
View Problem Statistics Submit Problem added 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


View Problem Statistics Submit Problem discussion Author/source:
Problems from Contests and Camps / Trainings in Perm 2009 / 07.07.09 Small Contest /
1594. B - k-almost monotony 1595.
time generating 0.094 sec.
© Copyright VSU, AVT, Nosov D.A., Andrianov I.A.