시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1.5 초 512 MB 118 30 18 29.508%

문제

진수는 초원을 뛰어 다니는 야생의 얼룩말들의 무늬를 보고 감명을 얻어 다음과 같은 그림을 그리고자 합니다.

진수가 왼쪽 상단 픽셀의 좌표가 (0, 0)이고 오른쪽 하단 픽셀의 좌표는 (W-1, H-1)인 가로 W픽셀 × 세로 H픽셀 크기의 흰 이미지에 K개의 도형을 그릴 것이며 도형은 2가지 종류가 있습니다. 

  1. 직사각형 - px, py, qx, qy이 주어지면 pxxqxpyyqy 를 만족하는 모든 픽셀 (x, y)의 색상을 반전시킵니다.
  2. 다이아몬드 - px, py, r이 주어지면 |x - px| + |y - py| ≤ 을 만족하는 모든 픽셀 (x, y)의 색상을 반전시킵니다.

픽셀이 반전되면 흰색은 검은색으로, 검은색은 흰색으로 바뀝니다.

진수는 도형이 많아질수록 그리는 것이 어려워졌고 똑똑한 여러분에게 위의 방식에 따라 그림을 그리는 효율적인 프로그램을 작성해달라고 부탁했습니다.

입력

첫 번째 줄에 이미지의 가로 픽셀 크기 W (10 ≤ W ≤ 2,500) 와 이미지의 세로 픽셀 크기 H (10 ≤ H ≤ 2,500) 와 진수가 그릴 도형의 개수 K (1 ≤ K ≤ 150,000) 가 주어집니다.

다음 K개 줄에는 도형들의 정보가 주어집니다.

직사각형인 경우 1, px, py, qx, qy (0 ≤ pxqx < W, 0 ≤ pyqy < H) 형식으로 총 5개의 정수가 주어지며,

다이아몬드인 경우 2, px, py, r (0 ≤ px < W, 0 ≤ py < H, 1 ≤ r < 1,250) 형식으로 총 4개의 정수가 주어집니다. 

진수가 그리는 도형이 이미지 밖으로 벗어나는 경우는 없습니다.

출력

첫 번째 줄부터 H번째 줄까지 각 줄에 길이가 W인 문자열을 출력합니다.

진수가 그린 이미지의 (x, y) 픽셀이 검은색이라면 y+1번째 줄 x+1번째 문자를 '#'로, 흰색이라면 '.'로 출력합니다.

예제 입력 1

21 11 4
1 4 0 16 10
1 7 0 13 10
2 10 5 5
2 10 5 3

예제 출력 1

....###...#...###....
....###..###..###....
....###.##.##.###....
....#####...#####....
....##.#.....#.##....
....#...........#....
....##.#.....#.##....
....#####...#####....
....###.##.##.###....
....###..###..###....
....###...#...###....

예제 입력 2

10 10 2
1 4 4 8 8
2 4 5 3

예제 출력 2

..........
..........
....#.....
...###....
..##...##.
.###....#.
..##...##.
...#..###.
.....####.
..........

출처

University > 경북대학교 > 2018 Goricon 🐴번

  • 문제를 만든 사람: exqt