AT274の技術だったりなかったり

あっとのTECH LOG

競プロのこととか技術のこととか。たまに日常を書きます。

ARC040 C - Z塗り

問題原文

atcoder.jp

解法

上から & 右から優先でみていけばいいです!
右上残しても結局後から塗らなきゃならないからね!おわり!

実装

N = int(input())
S = [list(input()) for _ in range(N)]
S.append(['o'] * N)  # 番兵

ans = 0
for r in range(N):
  for c in reversed(range(N)):
    if S[r][c] == '.':
      S[r] = ['o'] * (c + 1) + S[r][c + 1:]
      S[r + 1] = S[r + 1][:c] + ['o'] * (N - c)
      ans += 1
      break

print(ans)

感想

PAST初級で出そう!おわり!