結果
| 問題 | 
                            No.179 塗り分け
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2019-08-08 10:37:37 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 192 ms / 3,000 ms | 
| コード長 | 771 bytes | 
| コンパイル時間 | 960 ms | 
| コンパイル使用メモリ | 82,584 KB | 
| 実行使用メモリ | 77,248 KB | 
| 最終ジャッジ日時 | 2024-07-23 15:02:08 | 
| 合計ジャッジ時間 | 5,171 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 6 | 
| other | AC * 40 | 
ソースコード
H, W = map(int, input().split())
S = [input() for _ in range(H)]
if S == ['.' * W for _ in range(H)]:
    print('NO')
    exit()
for dx in range(H):
    for dy in range(-W-1, W):
        if dx == 0 and dy <= 0:
            continue
        
        flag = [[-1 for _ in range(W)] for _ in range(H)]
        
        for i in range(H):
            for j in range(W):
                if S[i][j] == '#' and flag[i][j] == -1:
                    if i+dx < H and 0 <= j+dy < W and S[i+dx][j+dy] == '#':
                        flag[i][j] = 0
                        flag[i+dx][j+dy] = 1
                    else:
                        break
            else:
                continue
            break
        else:
            print('YES')
            exit()
print('NO')