結果
問題 |
No.86 TVザッピング(2)
|
ユーザー |
![]() |
提出日時 | 2024-02-27 12:50:44 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 324 ms / 5,000 ms |
コード長 | 882 bytes |
コンパイル時間 | 160 ms |
コンパイル使用メモリ | 82,376 KB |
実行使用メモリ | 78,488 KB |
最終ジャッジ日時 | 2025-06-20 13:56:28 |
合計ジャッジ時間 | 3,674 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
H,W=map(int,input().split()) S=[input() for h in range(H)] ans="NO" cnt=0 for h in range(H): for w in range(W): if S[h][w]==".": cnt+=1 for _ in range(4): for h in range(H-1): for w in range(W-1): lh,rw=h,w+1 while lh and S[lh-1][w]==".": lh-=1 while rw<W and S[lh][rw]==".": rw+=1 lw,rh=w,h+1 while lw and S[h][lw-1]==".": lw-=1 while rh<H and S[rh][lw]==".": rh+=1 if any(S[i][rw-1]=="#" for i in range(lh,rh)): continue if any(S[rh-1][i]=="#" for i in range(lw,rw)): continue if ((rh-lh)+(rw-lw)-2)*2==cnt and rh-lh>=2 and rw-lw>=2: ans="YES" S=[[S[h][W-1-w] for h in range(H)] for w in range(W)] H,W=W,H print(ans)