結果

問題 No.179 塗り分け
ユーザー lllllll88938494
提出日時 2023-05-10 23:13:34
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 165 ms / 3,000 ms
コード長 1,612 bytes
コンパイル時間 260 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 76,680 KB
最終ジャッジ日時 2024-11-27 02:58:58
合計ジャッジ時間 4,423 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 6
other AC * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

h,w=map(int,input().split())
g=[input() for i in range(h)]
cnt=0
for i in range(h):
    for j in range(w):
        if g[i][j] == '#':
            cnt+=1
if cnt ==0:
    print('NO')
    exit()
    
    

for xz in range(h):
    for yz in range(w):
        if 0 == xz and 0 == yz:
            continue
        f=[[0]*w for i in range(h)]
        ff=0
        for i in range(h):
            for j in range(w):
                if g[i][j] == '#' and f[i][j] == 0:                        
                    if i+xz >= h or j + yz >=w:
                        ff = 1
                        break
                    if g[i+xz][j+yz] != '#':
                        ff = 1
                        break
                    f[i+xz][j+yz] = 1
                    f[i][j] = 1
            if ff == 1:
                break

        if ff == 0:
            print('YES')
            exit()
            
for xz in range(h):
    for yz in range(w):
        if 0 == xz and 0 == yz:
            continue
        f=[[0]*w for i in range(h)]
        ff=0
        for i in range(h):
            for j in range(w):
                if g[i][j] == '#' and f[i][j] == 0:                        
                    if i+xz >= h or j - yz < 0:
                        ff = 1
                        break
                    if g[i+xz][j-yz] != '#':
                        ff = 1
                        break
                    f[i+xz][j-yz] = 1
                    f[i][j] = 1
            if ff == 1:
                break

        if ff == 0:
            print('YES')
            exit()

print('NO')
        
            
    
    
0