7. [re] 테트로미노
1. 시뮬레이션
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(n)]
tetromino = [
[(0, 0), (0, 1), (0, 2), (0, 3)], # 1
[(0, 0), (1, 0), (2, 0), (3, 0)],
[(0, 0), (0, 1), (1, 0), (1, 1)], # 2
[(0, 0), (0, 1), (1, 0), (2, 0)], # 3
[(0, 0), (0, 1), (1, 1), (2, 1)],
[(0, 0), (1, 0), (1, 1), (1, 2)],
[(1, 0), (1, 1), (1, 2), (0, 2)],
[(2, 0), (2, 1), (1, 1), (0, 1)],
[(0, 0), (1, 0), (2, 0), (2, 1)],
[(0, 0), (0, 1), (0, 2), (1, 2)],
[(0, 0), (0, 1), (0, 2), (1, 0)], # 4
[(1, 0), (2, 0), (0, 1), (1, 1)],
[(0, 0), (1, 0), (1, 1), (2, 1)],
[(0, 0), (0, 1), (1, 1), (1, 2)],
[(1, 0), (0, 1), (1, 1), (0, 2)],
[(1, 0), (1, 1), (1, 2), (0, 1)], #5
[(1, 0), (0, 1), (1, 1), (2, 1)],
[(0, 0), (1, 0), (2, 0), (1, 1)],
[(0, 0), (0, 1), (0, 2), (1, 1)],
]
answer = 0
def find(x, y):
global answer
for i in range(19):
result = 0
for j in range(4):
nx = x + tetromino[i][j][0]
ny = y + tetromino[i][j][1]
if 0 <= nx < n and 0 <= ny < m:
result += board[nx][ny]
answer = max(answer, result)
for i in range(n):
for j in range(m):
find(i, j)
print(answer)
Author And Source
이 문제에 관하여(7. [re] 테트로미노), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@corone_hi/7.-re-테트로미노저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)