Graphics libraries usually implement drawing of graphics primitives, like lines, polygons and circles. Your task is to write a program that draws circles.
Graphic canvas is represented as an array of X
size by Y
size pixels. Each pixel have a color ranged from 0 to 9. Initially all pixels have color 0. Pixels are thought of as small sqares with the side of length 1. A circle with center (xc, yc) and radius R is a set of pixels (x, y) satisfying the inequality (x − xc)
2 + (y − yc)
2 ≤ R
2
To draw a circle, your program should set the color of all pixels in a set defined above to the color of the circle. After drawing N given circles, the program should output the color of all pixels of the canvas.
Input contains numbers X
size Y
size N followed by N sets of numbers xi yi Ri ci, describing the coordinates of center, radius and color of i-th circle.
1 <= X
size, Y
size <= 1000, 1 <= N <= 10000, 0 <= xi < X
size, 0 <= yi < Y
size, 1 <= Ri <= 212, 0 <= ci <= 9.
Output should contain Y
size lines of X
size characters each, where i-th character of j-th line is a digit corresponding to color of the pixel (i, j).
This problem has huge input and output data,use scanf() and printf() instead of cin and cout to read data to avoid time limit exceed.