結果
問題 | No.179 塗り分け |
ユーザー |
|
提出日時 | 2019-03-23 11:47:36 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 2,565 ms / 3,000 ms |
コード長 | 1,004 bytes |
コンパイル時間 | 118 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 44,248 KB |
最終ジャッジ日時 | 2024-07-23 14:57:35 |
合計ジャッジ時間 | 28,556 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 40 |
ソースコード
#!/usr/bin/env python3 # -*- coding: utf-8-*- import numpy as np def f(i, j, h, w, tl): for a in range(h): for b in range(w): if tl[a, b] == "#": if a+i >= h: return False elif b+j >= w: return False elif b+j < 0: return False elif tl[a+i, b+j] == "#": tl[a,b] = "." tl[a+i, b+j] = "." else: return False return True if __name__ == '__main__': h, w = map(int, input().split(" ")) l = [] for i in range(h): l.append(list(input())) l = np.array(l) if not "#" in l: print("NO") exit() for i in range(h): for j in range(-w+1, w): if i == 0 and j == 0: continue flag = f(i, j, h, w, np.copy(l)) if flag: print("YES") exit() print("NO")