Canadian Computing Competition: 2011 Stage 1, Senior #3
Alice is looking at a crystal through a microscope. Alice's microscope has the interesting feature that it can superimpose grid lines over the image that she is looking at.
At level 1 of magnification, Alice sees the image as follows:
Notice that at level 1, there is a grid superimposed over the image.
However, as Alice increases the magnification, the leaf pattern becomes more intricate.
At level 2 of the magnification, Alice sees the image with a grid, and notices that three of the four larger squares in the original image have the small four square pattern on top. In fact, for this particular crystal, this self-similarity repeats for each magnification level.
Given that Alice's microscope has up to 13 levels of magnification, she would like to try to quantify the detail of each grid cell at every one of these magnification levels.
Specifically, since there is a grid at magnification level , Alice will call the bottom-left corner grid cell , the bottom-right grid cell , the top-left grid cell , and the top-right grid cell .
Given an integer magnification level () and a grid position (where and ), Alice would like to know if her crystal will fill that grid cell, or if that grid cell will be empty space.
The first line of input will be () which is the number of test cases. On each of the next lines there will be three integers: , the magnification level, followed by and , the position of the grid cell that Alice wishes to examine.
The output will be lines. Each line of output will either be
empty, if the specified grid cell is empty, or
crystal if that grid cell contains crystal.
4 1 1 1 1 1 0 1 2 1 2 8 5
Output for Sample Input
empty crystal crystal crystal
Note: At least 40% of the test cases will have .
This comment is hidden due to too much negative feedback. Show it anyway.
it means you need to use recursion mate.
Because you can use Recursion to solve it.
For m = 3, does the pattern recurse onto all of the non-encompassed squares on the top or only on the three local maximum squares?
Only on top of the three local maximum squares. If you don't implement that right, test 5 won't work.