백준
백준 14500번: 테트로미노
2호0
2021. 7. 2. 01:08
14500번: 테트로미노
폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변
www.acmicpc.net
n,m = map(int, input().split())
tetromino = []
result = []
sum = 0
for i in range(n):
tetromino.append(list(map(int, input().split())))
#1
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j]+tetromino[i+1][j]+tetromino[i+1][j+1]+tetromino[i+1][j+2]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j]+tetromino[i+1][j]+tetromino[i+1][j+1]+tetromino[i+2][j+1]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j]+tetromino[i+1][j]+tetromino[i+1][j+1]+tetromino[i+2][j]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j]+tetromino[i+1][j]+tetromino[i+2][j]+tetromino[i+2][j+1]
result.append(sum)
for i in range(n-3):
for j in range(m):
sum=tetromino[i][j]+tetromino[i+1][j]+tetromino[i+2][j]+tetromino[i+3][j]
result.append(sum)
#2
for i in range(n-1):
for j in range(m-1):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i+1][j]+tetromino[i+1][j+1]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i+2][j+1]+tetromino[i+1][j+1]
result.append(sum)
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i+1][j+2]+tetromino[i+1][j+1]
result.append(sum)
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j+1]+tetromino[i+1][j]+tetromino[i+1][j+1]+tetromino[i+1][j+2]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j+1]+tetromino[i+1][j]+tetromino[i+1][j+1]+tetromino[i+2][j]
result.append(sum)
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j+1]+tetromino[i][j+2]+tetromino[i+1][j]+tetromino[i+1][j+1]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j+1]+tetromino[i+1][j]+tetromino[i+1][j+1]+tetromino[i+2][j+1]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i+1][j]+tetromino[i+2][j]
result.append(sum)
for i in range(n-2):
for j in range(m-1):
sum=tetromino[i][j+1]+tetromino[i+1][j+1]+tetromino[i+2][j]+tetromino[i+2][j+1]
result.append(sum)
#3
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i][j+2]+tetromino[i+1][j]
result.append(sum)
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i][j+2]+tetromino[i+1][j+1]
result.append(sum)
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i][j+2]+tetromino[i+1][j+2]
result.append(sum)
for i in range(n-1):
for j in range(m-2):
sum=tetromino[i][j+2]+tetromino[i+1][j]+tetromino[i+1][j+1]+tetromino[i+1][j+2]
result.append(sum)
#4
for i in range(n):
for j in range(m-3):
sum=tetromino[i][j]+tetromino[i][j+1]+tetromino[i][j+2]+tetromino[i][j+3]
result.append(sum)
print(max(result))