Post History
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:...
#4: Post edited
- 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. You can choose which one takes priority.- - 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
- ```
- **Test 3:** [JSON Array](https://dzaima.github.io/paste#0i@aKNtBBgbE6OIWMiVKFpJKAKjxCXLEA#JS)
- ```
- Input:
- 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 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
- All possible outputs:
- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 1 1 1 1 1 0
- 1 2 1 2 2 2 1 0
- 1 1 1 2 3 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
- ---
- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 3 2 1 1 1 0
- 1 2 2 2 1 2 1 0
- 1 1 1 1 1 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
- 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 full beacon over the other. You can choose which beacon takes priority.
- - 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
- ```
- **Test 3:** [JSON Array](https://dzaima.github.io/paste#0i@aKNtBBgbE6OIWMiVKFpJKAKjxCXLEA#JS)
- ```
- Input:
- 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 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
- All possible outputs:
- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 1 1 1 1 1 0
- 1 2 1 2 2 2 1 0
- 1 1 1 2 3 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
- ---
- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 3 2 1 1 1 0
- 1 2 2 2 1 2 1 0
- 1 1 1 1 1 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
#3: Post edited
- 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. You can choose which one takes priority.
- - 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
- ```
- **Test 3:** [JSON Array](https://dzaima.github.io/paste#0i@aKNtBBgbE6OIWMiVKFpJKAKjxCXLEA#JS)
- ```
- Input:
- 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 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
One possible output:- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 1 1 1 1 1 0
- 1 2 1 2 2 2 1 0
- 1 1 1 2 3 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
- 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. You can choose which one takes priority.
- - 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
- ```
- **Test 3:** [JSON Array](https://dzaima.github.io/paste#0i@aKNtBBgbE6OIWMiVKFpJKAKjxCXLEA#JS)
- ```
- Input:
- 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 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
- All possible outputs:
- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 1 1 1 1 1 0
- 1 2 1 2 2 2 1 0
- 1 1 1 2 3 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
- ---
- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 3 2 1 1 1 0
- 1 2 2 2 1 2 1 0
- 1 1 1 1 1 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
#2: Post edited
- 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. You can choose which one takes priority.
- - 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
- ```
- 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. You can choose which one takes priority.
- - 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
- ```
- **Test 3:** [JSON Array](https://dzaima.github.io/paste#0i@aKNtBBgbE6OIWMiVKFpJKAKjxCXLEA#JS)
- ```
- Input:
- 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 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
- One possible output:
- 1 1 1 1 1 0 0 0
- 1 2 2 2 1 0 0 0
- 1 2 1 1 1 1 1 0
- 1 2 1 2 2 2 1 0
- 1 1 1 2 3 2 1 0
- 0 0 1 2 2 2 1 0
- 0 0 1 1 1 1 1 0
- 0 0 0 0 0 0 0 0
#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. You can choose which one takes priority. - 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 ```