<script>
function
print2dArr(grid){
let p = grid.length
let q = grid[0].length
for
(let i=0;i<p;i++){
for
(let j=0;j<q;j++){
document.write(grid[i][j],
''
)
}
document.write(
"</br>"
)
}
}
function
save(grid, row, col){
return
grid.length > row && grid[0].length > col && row >= 0 && col >= 0
}
function
solve(grid){
let p = grid.length
let q = grid[0].length
let u = [1, -1, 0, 1, -1, 0, 1, -1]
let v = [0, 0, -1, -1, -1, 1, 1, 1]
for
(let i = 0; i < p; i++)
{
for
(let j = 0; j < q; j++)
{
if
(grid[i][j] > 0)
{
for
(let k = 0; k < 8; k++)
{
if
(save(grid, i + u[k], j + v[k]) && grid[i + u[k]][j + v[k]] > 0)
grid[i][j] += 1
}
}
else
{
for
(let k = 0;k<8;k++){
if
(save(grid, i + u[k], j + v[k]) && grid[i + u[k]][j + v[k]] > 0)
grid[i][j] -= 1
}
}
}
}
for
(let i = 0; i < p; i++)
{
for
(let j = 0; j < q; j++)
{
if
(grid[i][j] > 0){
if
(grid[i][j] < 3)
grid[i][j] = 0
else
if
(grid[i][j] <= 4)
grid[i][j] = 1
else
if
(grid[i][j] > 4)
grid[i][j] = 0
}
else
{
if
(grid[i][j] == -3)
grid[i][j] = 1
else
grid[i][j] = 0
}
}
}
}
let grid = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
[0, 0, 0, 1, 1, 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, ], ]
solve(grid)
print2dArr(grid)
</script>