와 이문제 생각보다 빡셌다
# n 입력
n = int(input())
# grid 입력
grid = [
list(map(int, input().split()))
for _ in range(n)
]
# 함수들
# is_duplicated(x, y)
def is_duplicated(x, y):
# first_x, first_y ~ first_x, first_y + 2 까지 겹치면 True
return x == first_x and (y == first_y or y == first_y - 1 or y == first_y - 2)
# 설계
# 첫 번째 최대 코인
first_max = 0
# 첫 번째 최대 코인의 좌표
first_x, first_y = 0, 0
# 첫 번째 완전 탐색
for i in range(n):
for j in range(n-2):
# curr_coin
curr_coin = grid[i][j] + grid[i][j+1] + grid[i][j+2]
# 현재의 동전이 first_max보다 많으면,
if curr_coin >= first_max:
# first_max 업데이트
first_max = curr_coin
# first_x, first_y 업데이트
first_x, first_y = i, j
# second_max
second_max = 0
# 두 번째 완전 탐색
for i in range(n):
for j in range(n-2):
# 겹치지 않는 범위라면
if not is_duplicated(i, j):
# curr_coin
curr_coin = grid[i][j] + grid[i][j+1] + grid[i][j+2]
# second_max 업데이트
second_max = max(second_max, curr_coin)
# 출력
print(first_max + second_max)'Algorithm(CodeTree, Python) > 완전탐색1' 카테고리의 다른 글
| [코드트리 자리 수 단위로 완전탐색] 원 모양으로 되어있는 방 python (0) | 2022.11.30 |
|---|---|
| [코드트리 자리 수 단위로 완전탐색] 체크판위에서 2 python (0) | 2022.11.29 |
| [코드트리 자리 수 단위로 완전탐색] 씨 오 더블유 2 python (0) | 2022.11.17 |
| [코드트리 자리 수 단위로 완전탐색] 최고의 13위치 python (0) | 2022.11.15 |
| [코드트리 자리 수 단위로 완전탐색] 마라톤 중간에 택시타기 2 python (0) | 2022.11.14 |