728x90
반응형
이 코드는 Python으로 작성했습니다.
def check_desserts(dr, dc, left, right):
global max_result
cafe = [0] * 101
cnt = 0
lr = dr + left
lc = dc - left
rr = dr + right
rc = dc + right
br = dr + left + right
bc = dc + right - left
for dis in range(1, left + 1):
if cafe[A[dr + dis][dc - dis]]:
return
cafe[A[dr + dis][dc - dis]] = 1
if cafe[A[br - dis][bc + dis]]:
return
cafe[A[br - dis][bc + dis]] = 1
cnt += 2
for dis in range(1, right+1):
if cafe[A[lr+dis][lc+dis]]:
return
cafe[A[lr+dis][lc+dis]] = 1
if cafe[A[rr-dis][rc-dis]]:
return
cafe[A[rr-dis][rc-dis]] = 1
cnt += 2
max_result = max(max_result, cnt)
def make_distance(dr, dc):
for left in range(1, dc+1):
for right in range(1, N-dc):
if dr + left + right > N - 1:
continue
check_desserts(dr, dc, left, right)
T = int(input())
for tc in range(1, T + 1):
N = int(input())
A = [list(map(int, input().split())) for _ in range(N)]
max_result = -1
for row in range(N-2):
for col in range(1, N-1):
make_distance(row, col)
print("#{} {}".format(tc, max_result))
문제 출처 : SW Expert Academy
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
728x90
반응형
'Algorithm for Coding Test > Swea' 카테고리의 다른 글
SWEA D3 2814 최장 경로 (0) | 2021.11.01 |
---|---|
SWEA 5656 [모의 SW 역량테스트] 벽돌 깨기 (0) | 2021.11.01 |
SWEA 4012 [모의 SW 역량테스트] 요리사 (0) | 2021.11.01 |
SWEA D4 1486 장훈이의 높은 선반 (0) | 2021.10.10 |
SWEA D2 1970 쉬운 거스름돈 (0) | 2021.10.10 |