AtCoder Beginner Contest 096 C - Grid Repainting 2 【Python】
https://atcoder.jp/contests/abc096/tasks/abc096_c
AtCoder ProblemsのRecommendationで Difficulty: 407、Solve Probability: 52%でした。
一つずつ#のマスを見ていって上下左右に隣り合うマスに#あるかどうかで判定しました。
H, W = map(int, input().split()) S = [] for i in range(H): s = input() S.append(s) for i in range(H): for j in range(W): count = 0 if S[i][j] == '#': for i2, j2 in [[i+1, j], [i-1, j], [i, j+1], [i, j-1]]: # 範囲内でなければ無視する。 if not (0 <= i2 < H and 0 <= j2 < W): continue if S[i2][j2] == '#': count += 1 if count == 0: print('No') exit() print('Yes')