| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 9 | 8 | 8 | 88.889% |
В комнате у Аркадия Семеновича Тапкина стоят электронные часы. Цифры на этих часах показываются в специальной псевдографике. А именно каждое поле, на котором изображается цифра, состоит из $w$ ячеек в ширину и $h$ ячеек в высоту (при этом ячейки на поле имеют форму квадратов).
Но недавно у Аркадия Семеновича появилась проблема. Последнее время он стал плохо видеть. В связи с этим он хочет увеличить изображение этих цифр. Он уже приладил старый 19ドル"$ монитор к часам, и теперь дело осталось за малым. Осталось написать программу, которая будет рисовать цифры на дисплее. Аркадий Семенович хочет увеличить изображение в $k$ раз и сделать толщину линий равной $d$. Помогите ему в этом.
Опишем более формально понятие <<увеличить в $k$ раз>>. Занумеруем ячейки поля $w \times h$ сверху вниз и слева направо. Таким образом, верхняя левая ячейка имеет координаты $(0, 0),ドル правая нижняя --- $(w - 1, h - 1),ドル правая верхняя --- $(w - 1, 0),ドル левая нижняя --- $(0, h - 1)$. Кроме этого, введем декартову прямоугольную систему координат так, что начало координат находится в центре верхней левой ячейки, ось $Ox$ направлена вправо, ось $Oy$ --- вниз, длину единичного отрезка примем равной длине стороны ячейки. Таким образом, координаты центра ячейки совпадают с ее координатами во введенной нумерации.
Каждая десятичная цифра задается набором составляющих ее изображение отрезков. Для простоты каждый из отрезков либо параллелен одной из координатных осей, либо идет под углом в 45 градусов к ней.
Увеличенная в $k$ раз цифра рисуется на поле размером $(w - 1) \cdot (k - 1) + w$ ячеек по горизонтали на $(h - 1) \cdot (k - 1) + h$ ячеек по вертикали.
При увеличении некоторой цифры в $k$ раз производятся следующие операции. Координаты точек, являющихся концами отрезков, составляющих цифру, умножаются на $k$. После этого закрашиваются те ячейки, через центры которых проходят эти отрезки. Эти ячейки будем называть основными.
После этого, для того, чтобы получить толщину линий равную $d,ドル дополнительно закрашиваются те ячейки, центры которых располагаются на расстоянии, не превышающем $(d - 1)$ от центров основных ячеек. Расстоянием между точками $A(x_A, y_A)$ и $B(x_B, y_B)$ будем называть число $\rho(A, B) = |x_A - x_B| + |y_A - y_B|$.
По описанию цифры и параметрам $k$ и $d$ выведите изображение цифры, увеличенное в $k$ раз, с толщиной линий $d$.
Первая строка входного файла содержит целые числа $k$ и $d$ (1ドル \le k \le 100,ドル 1ドル \le d \le 500$). Вторая строка входного файла содержит целые числа $w$ и $h$ (1ドル \le w, h \le 10$).
Третья строка входного файла содержит целое число $n$ (1ドル \le n \le 100$) --- количество отрезков в описании цифры. Далее следуют $n$ строк, каждая из которых описывает один отрезок. Описание отрезка состоит из четырех целых чисел: $x_1,ドル $y_1,ドル $x_2,ドル $y_2$ (0ドル \le x_1, x_2 < w,ドル 0ドル \le y_1, y_2 < h$) --- координат концов отрезка.
Каждый из отрезков либо параллелен одной из координатных осей, либо идет под углом в 45 градусов к ней. Все отрезки имеют ненулевую длину.
Выходной файл должен содержать ровно $(h - 1) \cdot (k - 1) + h$ строк по $(w - 1) \cdot (k - 1) + w$ символов в каждой, $j$-ый символ $i$-ой строки должен быть равен символу <<*>> (звездочка), если ячейка с центром в точке $(j,i)$ закрашена, и символу <<.>> (точка) --- иначе.
1 1 4 6 2 0 0 3 0 3 0 3 5
**** ...* ...* ...* ...* ...*
2 1 4 6 4 0 0 3 0 3 0 3 2 3 2 0 5 0 5 3 5
******* ......* ......* ......* ......* .....*. ....*.. ...*... ..*.... .*..... *******
2 2 4 6 4 0 0 3 0 3 0 3 2 3 2 0 5 0 5 3 5
******* ******* .....** .....** .....** ....*** ...***. ..***.. .***... ******* *******