各マスについて、もしそのマスに駒があれば'#'です。
そうでない場合、隣接したマス8つを見て駒のあるマスをカウントすればACできます。
配列外参照に気をつけて実装してください。
以下はPythonでのコード例です。
dx = [-1, 0, 1]
dy = [-1, 0, 1]
vecs = [(x, y) for x in dx for y in dy]
N, K = map(int, input().split())
Grid = [[0] * N for _ in range(N)]
for _ in range(K):
r, c = map(int, input().split())
Grid[r - 1][c - 1] = '#'
for i in range(N):
for j in range(N):
if Grid[i][j] == '#':
continue
for di, dj in vecs:
ni, nj = i + di, j + dj
if not (0 <= ni < N and 0 <= nj < N):
continue
if Grid[ni][nj] == '#':
Grid[i][j] += 1
for row in Grid:
print(*row)