задача
Даны два натуральных числа:
- Нарисуйте прямоугольник с размерами, указанными двумя целыми числами.
- Повторите шаг 3, пока не останется свободного места.
- Нарисуйте и заполните самый большой квадрат, касаясь трех сторон (оставшегося) прямоугольника.
- Выведите полученный прямоугольник.
пример
Например, наш вклад 6
и 10
.
Нарисуем полый прямоугольник размером 6 х 10:
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
После многократного заполнения квадратов мы получили бы следующее:
aaaaaabbbb
aaaaaabbbb
aaaaaabbbb
aaaaaabbbb
aaaaaaccdd
aaaaaaccdd
Есть 4 квадрата здесь ( a
, b
, c
, d
), каждый с длиной стороны 6
, 4
, 2
, 2
соответственно.
Правила и свобода
- Вы должны использовать разные буквы для каждого квадрата.
- Вы можете выбрать, какие буквы поддерживать, если все поддерживаемые буквы являются печатными символами и поддерживаются как минимум
10
символы. - В каждой итерации шага 3, описанного выше, у вас есть два варианта (кроме последней итерации, где у вас есть только один выбор). Оба варианта действительны.
- Количество необходимых квадратов не будет превышать количество букв, которые вы поддерживаете.
- Вы можете заполнить квадраты буквами, которые вы поддерживаете в любом порядке .
Testcases
Входные данные: 6, 10
Вывод:
aaaaaabbbb
aaaaaabbbb
aaaaaabbbb
aaaaaabbbb
aaaaaaccdd
aaaaaaccdd
или
aaaaaaccdd
aaaaaaccdd
aaaaaabbbb
aaaaaabbbb
aaaaaabbbb
aaaaaabbbb
или
bbbbaaaaaa
bbbbaaaaaa
bbbbaaaaaa
bbbbaaaaaa
ccddaaaaaa
ccddaaaaaa
или
ccddaaaaaa
ccddaaaaaa
bbbbaaaaaa
bbbbaaaaaa
bbbbaaaaaa
bbbbaaaaaa
или
ddddddaaaa
ddddddaaaa
ddddddaaaa
ddddddaaaa
ddddddbbcc
ddddddbbcc
Входные данные: 1,1
Вывод:
a
Входные данные: 1,10
Вывод:
abcdefghij
Входные данные: 10,1
Вывод:
a
b
c
d
e
f
g
h
i
j
Обратите внимание, что есть больше возможностей, чем я могу включить для тестовых случаев выше.
счет
Это код-гольф . Кратчайший ответ в байтах побеждает.
Применяются стандартные лазейки .