Обработка математики: 100%
 

print1478. Ферзи на шахматной доске

printФерзи на шахматной доске

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Ферзь – шахматная фигура, которая может двигаться на любое число клеток по горизонтали, вертикали или диагонали.
На бесконечной шахматной доске расположены K ферзей. Требуется вывести прямоугольный фрагмент шахматной доски, заданный двумя противоположными клетками с координатами (XA; YA) и (XB; YB).
Клетки чёрного цвета обозначаются символом '#' (ASCII 35), клетки белого цвета обозначаются символом '.' (точка, ASCII 46), клетка с ферзем обозначается символом 'X' (ASCII 88), клетка, в которую может походить ферзь обозначается символом '*' (ASCII 42).
Ось ординат (OY) направлена вертикально вниз. Клетка с координатами (1; 1) имеет чёрный цвет.
Формат входного файла
Во входном файле содержатся числа XA YA XB YB K
Далее следуют K пар чисел – Xi Yi
Формат выходного файла
Выходной файл должен содержать изображение заданного фрагмента шахматной доски.
Ограничения
1  Xi, Yi  231-1, 0  K  105, 1  |XA - XB|, |YA - YB|  500
В одной клетке не может находиться более одного ферзя

Пример ввода 1

1 8 8 1
2
7 1
3 5

Пример вывода 1

******X*
.#*#.***
*.*.*.*.
.***.#*#
**X*****
.***.#*#
*.*.*.*.
.#*#.**#

Пример ввода 2

6987879 87979870 6987899 87979879 1
3271487 84263477

Пример вывода 2

.*.#.#.#.#.#.#.#.#.#.
#.*.#.#.#.#.#.#.#.#.#
.#.*.#.#.#.#.#.#.#.#.
#.#.*.#.#.#.#.#.#.#.#
.#.#.*.#.#.#.#.#.#.#.
#.#.#.*.#.#.#.#.#.#.#
.#.#.#.*.#.#.#.#.#.#.
#.#.#.#.*.#.#.#.#.#.#
.#.#.#.#.*.#.#.#.#.#.
#.#.#.#.#.*.#.#.#.#.#
Источник: http:/imcs.dvgu.ru/cats/, ЛШ олимпиада, 2008
loading