結果
問題 | No.179 塗り分け |
ユーザー |
|
提出日時 | 2015-10-17 23:23:32 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 236 ms / 3,000 ms |
コード長 | 1,186 bytes |
コンパイル時間 | 47 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 6,528 KB |
最終ジャッジ日時 | 2024-07-23 14:32:58 |
合計ジャッジ時間 | 2,297 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 40 |
ソースコード
#!/usr/bin/python import sys def find_r(H, W, S): for y in range(H): for x in range(W): if S[y][x] == "#": return x, y print "NO" sys.exit(0) def check(B, rx, ry, bx, by): # print rx, ry, bx, by cy = by - ry cx = bx - rx for y in range(H): for x in range(W): if B[y][x] == "#": B[y][x] = "R" if y+cy not in range(H): return False if x+cx not in range(W): return False if B[y+cy][x+cx] == "#": B[y+cy][x+cx] = "B" else: return False return True def print_s(S): print "\n".join(["".join(x) for x in S]) H, W = map(int, raw_input().split()) #print H, W S = [] for i in range(H): S.append(list(raw_input())) rx, ry = find_r(H, W, S) S[ry][rx] = "R" #print rx, ry, S for by in range(H): for bx in range(W): if S[by][bx] != "#": continue B = map(list, S) B[by][bx] = "B" if check(B, rx, ry, bx, by): print "YES" # print_s(B) sys.exit(0) print "NO"