結果
| 問題 | No.179 塗り分け |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-11-15 17:00:36 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,293 bytes |
| 記録 | |
| コンパイル時間 | 346 ms |
| コンパイル使用メモリ | 82,704 KB |
| 実行使用メモリ | 80,768 KB |
| 最終ジャッジ日時 | 2024-09-26 04:39:50 |
| 合計ジャッジ時間 | 11,795 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 35 WA * 5 |
ソースコード
from collections import *
from itertools import *
from functools import *
from heapq import *
import sys,math
input = sys.stdin.readline
H,W = map(int,input().split())
S = [list(input())[:-1] for _ in range(H)]
for i in range(H):
for j in range(W):
S[i][j]=int(S[i][j]=='#')
def check(x,y,S):
T = [[0]*(2*W) for _ in range(2*H)]
for i in range(H):
for j in range(W):
T[i][j] += S[i][j]
T[i+x][j+y] += S[i][j]
flg = True
a = 0
b = 0
for i in range(H):
for j in range(W):
if (S[i][j]==1):
if T[i][j]==1:
a += 1
if T[i+x][j+y]!=2:
flg = False
elif (T[i][j]==2):
b += 1
else:
flg = False
return flg&(a==b)
for x in range(H):
for y in range(W):
if x+y==0:
continue
if check(x,y,S):
print('YES')
exit()
for i in range(H):
S[i].reverse()
for x in range(H):
for y in range(W):
if x+y==0:
continue
if check(x,y,S):
print('YES')
exit()
print('NO')