グリッドに関する処理
ABC75 B Minesweeper
H, W = map(int, input().split())
S = []
for i in range(H):
S.append(list(input()))
#上、下、右、左、右上、右下、左上、左下
dy = [-1, 1, 0, 0, -1, 1, -1, 1]
dx = [0, 0, 1, -1, 1, 1, -1, -1]
for y in range(H):
for x in range(W):
if S[y][x] == '#':
continue
cnt = 0
for i in range(8):
ny = y + dy[i]
nx = x + dx[i]
if ny < 0 or ny >= H:
continue
if nx < 0 or nx >= W:
continue
if S[ny][nx] == '#':
cnt += 1
S[y][x] = str(cnt)
for y in range(H):
print("".join(S[y]))
ABC96 C Grid Repainting 2
import sys
H, W = map(int, input().split())
S = []
for i in range(H):
S.append(list(input()))
#上、下、右、左
dy = [-1, 1, 0, 0]
dx = [0, 0, 1, -1]
for y in range(H):
for x in range(W):
if S[y][x] == '.':
continue
if S[y][x] == '#':
for i in range(4):
ny = y + dy[i]
nx = x + dx[i]
if ny < 0 or ny >= H:
continue
if nx < 0 or nx >= W:
continue
if S[ny][nx] == '#':
break
if i == 3:
print('No')
sys.exit()
print('Yes')