結果
問題 |
No.179 塗り分け
|
ユーザー |
|
提出日時 | 2015-12-27 14:13:27 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 789 ms / 3,000 ms |
コード長 | 1,132 bytes |
コンパイル時間 | 291 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-07-23 14:33:39 |
合計ジャッジ時間 | 6,637 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 40 |
ソースコード
def func(d, r, field): find = False for y in range(len(field)): ny = y + d if not (0 <= ny < len(field)): continue for x in range(len(field[y])): if field[y][x] == '#': nx = x + r if 0 <= nx < len(field[y]) and field[ny][nx] == '#': find = True field[y][x] = 0 field[ny][nx] = 1 else: return False for line in field: if '#' in line: return False return find def main(): h, w = map(int, input().split()) field = [] num_of_sharps = 0 for _ in range(h): line = list(input()) field.append(line) num_of_sharps += line.count('#') if num_of_sharps % 2 != 0: print("NO") return for i in range(50): for j in range(-50, 50): if i == 0 and j <= 0: continue if func(i, j, [[i for i in j] for j in field]): print("YES") return print("NO") if __name__ == '__main__': main()