Олимпиадный тренинг

Задача . B. Мадока и подпольные соревнования


Мадока решила участвовать в подпольном соревновании по спортивному программированию. И в нем была ровно одна задача:

Квадратная таблица размера \(n \times n\), где \(n\) кратно \(k\), называется хорошей, если в ней записаны только символы '.' и 'X', а также в любой подтаблице размера \(1 \times k\) или \(k \times 1\) есть хотя бы один символ 'X'. Иными словами, среди любых \(k\) подряд идущих по вертикали или по горизонтали клеток должна быть хотя бы одна, в которой записан символ 'X'.

Нужно вывести любую хорошую таблицу, в которой минимально возможное количество символов 'X', а также в клетке \((r, c)\) записан символ 'X'. Строки нумеруются от \(1\) до \(n\) сверху вниз, столбцы нумеруются от \(1\) до \(n\) слева направо.

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

В первой строке входных данных находится единственное целое число \(t\) (\(1 \le t \le 100\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

В единственной строке каждого набора входных данных содержатся четыре целых числа \(n\), \(k\), \(r\), \(c\) (\(1 \le n \le 500, 1 \le k \le n, 1 \le r, c \le n\)) — размер таблицы, число \(k\) и координаты клетки, которой обязательно должен быть записан символ 'X'. Гарантируется, что \(n\) кратно \(k\).

Гарантируется, что сумма \(n\) по всем наборам входных данных не превосходит \(500\).

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

Для каждого набора входных данных выведите \(n\) строк, каждая из которых состоит из \(n\) символов '.' и 'X', — искомую таблицу. Если ответов несколько, то можете вывести любой.

Примечание

Разберём первый набор входных данных.

В качестве правильного ответа можно вывести следующие таблицы:

X..
..X
.X.
или
..X
X..
.X.
Можно показать, что меньше \(3\) символов 'X' в ответе быть не может.

Обратите внимание, что следующая таблица не подходит, потому что в клетке \((3, 2)\) не записан символ 'X':

X..
.X.
..X

Во втором наборе входных данных единственной подходящей таблицей является:

XX
XX
В каждой подтаблице размера \(1 \times 1\) должен быть символ 'X', поэтому все символы в таблице должны быть равны 'X'.

Примеры
Входные данныеВыходные данные
1 3
3 3 3 2
2 1 1 2
6 3 4 2
X..
..X
.X.
XX
XX
.X..X.
X..X..
..X..X
.X..X.
X..X..
..X..X

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя