Робот
(Время: 1 сек. Память: 64 Мб Сложность: 31%)
Робот рисует спираль, перемещаясь по клетчатому полю. Первоначально он находится в некоторой клетке и закрашивает её. Робот направлен вдоль положительного направления оси OX.
Он действует по следующему алгоритму: совершает D перемещений вперед, затем поворачивает направо и снова делает D перемещений вперед, каждый раз закрашивая клетки, в которых он побывал. После этого робот поворачивает направо и умножает значение D на K. Затем он повторяет описанный процесс. Робот останавливается, сделав суммарно ровно N перемещений.
Требуется вывести карту, на которой отмечены клетки, закрашенные роботом.
Входные данные
В первых трёх строках входного файла INPUT.TXT содержатся целые числа N, D и K по одному на строке (1 ≤ N ≤ 1000, 1 ≤ D ≤ 100, 2 ≤ K ≤ 5).
Выходные данные
В первой строке выходного файла OUTPUT.TXT выведите два целых числа H и W – высоту и ширину карты. В следующих H строках выведите по W символов. Клетки, посещенные роботом должны содержать символ «#» (ASCII 35), а не посещенные – «.» (ASCII 46). При этом выводимая карта должна иметь минимальную площадь и содержать все посещенные роботом клетки.
Пример
| № | INPUT.TXT | OUTPUT.TXT |
| 1 | 14 2 2 | 5 5 ###.. #.... #.###
#...# ##### |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|