전자 게시판
시간 제한2초메모리 제한1024 MB
작은 격자에 그려진 숫자의 선분들을 k배 확대한 뒤, 중심이 주요 칸과 맨해튼 거리 d-1 이내인 칸을 모두 칠해 그림을 출력한다.
문제
아르카디 세묘노비치 타프킨의 방에는 전자시계가 있다. 이 시계의 숫자는 특별한 의사 그래픽으로 표시된다. 즉, 숫자를 나타내는 각 격자는 너비 칸, 높이 칸으로 이루어져 있으며, 격자의 칸은 정사각형이다.
그런데 최근 아르카디 세묘노비치에게 문제가 생겼다. 요즘 시력이 나빠진 것이다. 그래서 그는 이 숫자의 이미지를 확대하려고 한다. 그는 이미 오래된 모니터를 시계에 연결해 두었고, 이제 남은 일은 디스플레이에 숫자를 그리는 프로그램을 작성하는 것뿐이다. 아르카디 세묘노비치는 이미지를 배로 확대하고 선의 두께를 로 만들고자 한다. 그를 도와주자.
<<배로 확대>>라는 개념을 더 형식적으로 설명하자. 격자의 칸에 위에서 아래로, 왼쪽에서 오른쪽으로 번호를 매긴다. 그러면 왼쪽 위 칸은 좌표 , 오른쪽 아래 칸은 , 오른쪽 위 칸은 , 왼쪽 아래 칸은 을 갖는다. 또한 원점이 왼쪽 위 칸의 중심에 있고, 축은 오른쪽을, 축은 아래를 향하며, 단위 길이가 칸의 한 변의 길이와 같은 데카르트 직각좌표계를 도입하자. 그러면 칸의 중심 좌표는 위에서 매긴 번호의 좌표와 일치한다.
각 십진 숫자는 그것을 구성하는 선분의 집합으로 주어진다. 편의상 각 선분은 좌표축 중 하나와 평행하거나, 좌표축과 45도 각도를 이룬다.
배로 확대된 숫자는 가로 칸, 세로 칸의 격자에 그려진다.
어떤 숫자를 배로 확대할 때 다음 연산을 수행한다. 숫자를 구성하는 선분의 끝점 좌표에 를 곱한다. 그런 다음, 이 선분이 중심을 지나는 칸을 칠한다. 이 칸을 기본 칸이라고 하자.
그런 다음 선의 두께를 로 만들기 위해, 중심이 기본 칸의 중심에서 거리가 이하인 칸을 추가로 칠한다. 두 점 와 사이의 거리는 로 정의한다.
숫자의 설명과 매개변수 , 가 주어졌을 때, 숫자를 배로 확대하고 선의 두께가 인 이미지를 출력하라.
입력
입력 파일의 첫째 줄에는 정수 와 가 주어진다 (, ). 둘째 줄에는 정수 와 가 주어진다 ().
셋째 줄에는 숫자의 설명에 있는 선분의 수 이 주어진다 (). 다음 개의 줄에는 각각 하나의 선분이 주어진다. 선분의 설명은 네 개의 정수 , , , (, )로 이루어지며, 이는 선분의 끝점 좌표이다.
각 선분은 좌표축 중 하나와 평행하거나, 좌표축과 45도 각도를 이룬다. 모든 선분의 길이는 0이 아니다.
출력
출력 파일은 정확히 개의 줄로 이루어져야 하며, 각 줄은 개의 문자를 포함한다. 번째 줄의 번째 문자는 중심이 인 칸이 칠해졌으면 <<*>> (별표), 그렇지 않으면 <<.>> (점)이어야 한다.