結果
問題 | No.179 塗り分け |
ユーザー |
![]() |
提出日時 | 2020-02-04 23:17:03 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 2,400 ms / 3,000 ms |
コード長 | 1,068 bytes |
コンパイル時間 | 145 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-07-23 15:05:11 |
合計ジャッジ時間 | 13,307 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 40 |
ソースコード
H,W = map(int,input().split()) S = [input() for _ in range(H)] flag = False flag2 = False for dz in range(1,H*W): dx,dy = divmod(dz,W) checked = [[0 for j in range(W)] for i in range(H)] for sz in range(H*W): sx,sy = divmod(sz,W) if S[sx][sy] == '#' and not checked[sx][sy]: flag2 = True nx,ny = sx+dx,sy+dy if 0<=nx<H and 0<=ny<W and S[nx][ny] == '#': checked[nx][ny] = 1 else: break else: flag = True break for dz in range(1,H*W): dx,dy = divmod(dz,W) dx = -dx checked = [[0 for j in range(W)] for i in range(H)] for sz in range(H*W): sx,sy = divmod(sz,W) sx = H-1-sx if S[sx][sy] == '#' and not checked[sx][sy]: flag2 = True nx,ny = sx+dx,sy+dy if 0<=nx<H and 0<=ny<W and S[nx][ny] == '#': checked[nx][ny] = 1 else: break else: flag = True break print('YES' if flag and flag2 else 'NO')