Problem D: Flipping colors
A rectangle with sides parallel to the x-y axes and its left-lower corner at
(0, 0) is being painted. The rectangle may be thought of as a flat-screen
display with almost infinite resolution; initially the entire rectangle is
black. Two numbers are given 0 < h, v < 1 and then
- A vertical line is drawn dividing the horizontal sides of the rectangle in
proportion h:1-h from the left.
- A horizontal line is drawn dividing the vertical sides of the rectangles
in proportion v:1-v from the bottom up.
- These two lines divide the rectangle into four smaller rectangles.
- The upper left and the lower right sub-rectangles remain intact.
- The color of the other two rectangles is flipped (from black to white or
from white to black) and now each of them is subject to the operation just
performed on the bigger rectangle.
- This process continues (in principle) forever.
Given a point in
the original rectangle but not on the boundary of any rectangle that turns up in
the process of painting, determine the color of the point.
Input contains multiple cases. The first line of each case contains 4
numbers, the length of the rectangle H, the height of the rectangle
V and then the numbers h and v. The next line contains one
integer number n, the number of points to consider. The following
n lines contain two numbers each, the x and the y
coordinate of a point.
Organize your output as shown in the sample. For each point from input print
the color of the point.
Sample input
81 32 0.333333333333 0.5
6
16 30
16 25
16 12.0001
16 11.9999
16 7.987654321
16 7.0123456789
10 10 0.123456789 0.987654321
2
0.432 0.9876
9.432 0.9876
0 0 0 0
Output for sample input
Case 1:
black
black
white
black
white
white
Case 2:
white
black
Piotr Rudnicki