Post History
Sandbox
Mark my beacons
#1: Initial revision
Mark my beacons
Given a grid of numbers, mark the concentric areas around nonzero elements (beacons) decreasing from the value of the beacon till 1. For example, here are some grids with a single beacon: Size 1: ``` 0 0 0 0 0 0 0 1 0 -> 0 1 0 0 0 0 0 0 0 ``` Size 2: ``` 0 0 0 1 1 1 0 2 0 -> 1 2 1 0 0 0 1 1 1 ``` Size 3: ``` 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 2 2 2 1 0 0 3 0 0 -> 1 2 3 2 1 0 0 0 0 0 1 2 2 2 1 0 0 0 0 0 1 1 1 1 1 ``` ## I/O Your input is in the form of a 2D grid of integers. You can take the dimensions if needed. - Your output can have multiple beacons of various sizes. - If beacons overlap, you can overwrite one over the other. - beacons can be on the edges of the grid. they will not wrap around. ## Tests Test 1: [JSON Array](https://dzaima.github.io/paste#0i@aKNtDBgLE62IRNsAsb4BE2wqcaImlI0BC4GqKsxCbMFQsA) ``` Input: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Output: 0 0 0 0 0 0 1 2 3 3 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 0 1 2 3 3 1 1 0 0 0 0 1 2 2 2 2 1 1 1 1 0 1 1 1 1 1 1 1 2 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ``` Test 2: [JSON Array](https://dzaima.github.io/paste#0i@aKNtQxwA1jdbiiDchRYIKuwITqVtBAgTH5JnDFAgA) ``` Input: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Output: 1 1 1 1 1 1 0 1 2 2 2 2 2 1 0 2 2 2 2 2 1 0 1 2 3 3 3 2 1 0 2 3 3 3 2 1 0 1 2 3 4 3 2 1 0 2 3 4 3 2 1 0 1 2 3 3 3 2 1 0 2 3 3 3 2 1 0 1 2 2 2 2 2 1 0 2 2 2 2 2 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 0 0 0 0 0 0 0 1 2 3 2 1 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 0 0 0 0 0 0 0 ```