- Описание
- Отправленные решения
596. Искусство создавать лабиринты
Лабиринтом будем называть систему из $n^2$ комнат, которые расположены в $n$ рядов по $n$ комнат, образуя квадрат.
Между некоторыми соседними по горизонтали или по вертикали комнатами есть проход; между остальными комнатами прямого прохода нет. Система проходов в лабиринте состоит ровно из $n^2-1$ пары соединённых комнат, причём из любой комнаты можно попасть в любую другую, переходя по проходам, возможно, проходя через промежуточные комнаты.
Расстоянием между комнатами $A$ и $B$ называется наименьшее количество проходов, по которым нужно пройти, чтобы попасть из комнаты $A$ в комнату $B$. Диаметром лабиринта называется наибольшее из расстояний между различными комнатами в лабиринте.
Придумывать лабиринты с некоторыми заданными свойствами не очень простая задача. Попробуйте сконструировать лабиринт, состоящий из $n^2$ комнат, c величиной диаметра, равной $d$, либо сообщите, что такого лабиринта не существует.
Формат ввода
В первой строке записано целое число $t$ $-$ количество тестовых случаев ($1 \leqslant t \leqslant 500$).
Описание каждого тестового случая содержит два целых числа $n$ и $d$ $-$ размер и диаметр требуемого лабиринта ($2 \leqslant n \leqslant 50$, $0 \leqslant d \leqslant n^2$).
Сумма значений $n$ по всем тестовым случаям не превосходит $1000$.
Формат вывода
Для каждого тестового случая в первой строке выведите сообщение Won
, если удалось построить соответствующий условию задачи лабиринт, или Lost
, если лабиринта не существует.
В случае найденного лабиринта выведите его описание в виде квадратной таблицы $(2n-1) \times (2n-1)$. Клетки с нечётными номерами строк и столбцов соответствуют комнатам и должны содержать символ ‘o’
; клетки с чётными номерами строк и столбцов должны содержать символ ‘.’
(отсутствие прохода).
Остальные клетки соответствуют проходам либо стенам между двумя комнатами в соседних клетках. Если прохода нет, клетка должна содержать символ ‘.’
. Если проход есть, то клетка должна содержать символ ‘-’
, если комнаты находятся слева и справа от неё, или ‘|’
, если сверху и снизу.
Примечание
Для обозначения комнат используется символ ‘o’
$-$ строчная английская буква «О»
Ограничения
Ограничение времени
1 с
Ограничение памяти
256 МБ
Пример 1
3
2 2
2 3
2 4
Lost
Won
o-o
|.|
o.o
Lost
Пример 2
1
3 4
Won
o-o-o
..|..
o-o-o
..|..
o-o-o