かわわんの色々

数学とか自転車とか競プロとか音楽とか

ABC096 C Grid Repainting2

なんか似たようなやつRUPCでも解いたなぁとか思いました.

メモです.言語はPython3です.

問題概要

これみて

C - Grid Repainting 2

解法

まぁ#があるとこの上下左右のいずれかに#があればいいんですけど,どう実装すればいいのか分かんなかったですねー

実装

端っこどうしよっかなーつって悩んだんですが,他の皆さんのコードを見て勉強しました.

field = [] #ここに行列が入る
flag = "Yes"

"""中略"""

"""for文の中"""
if field[i][j] == "#":
    if i != 0 and field[i-1][j] == "#": continue  # 左見てる
    elif i != w-1 and field[i+1][j] == "#": continue  #右見てる
    elif j != 0 and field[i][j-1] == "#": continue  #上見てる
    elif j != h-1 and field[i][j+1] == "#":continue   #下見てる
    else: flag = "No"
"""for文終わり"""

print(flag)

問題によって端っこをどう処理するかは変わるとは思うんですけど,

こう書けばいいのか―と初心者的には勉強になったのでメモした次第です.