Baekjoon #14620

Baekjoon #14620

1개의 풀이 · Python

문제 원문 보기 ↗

SOLUTION INFO

Python · main.py

main.py
import sys
from itertools import combinations

def input():
    return sys.stdin.readline().rstrip()

N = int(input())
arr = []
flower = []
MIN = 1e9
nx = [-1, 0, 1, 0]
ny = [0, -1, 0, 1]
for i in range(N):
    arr.append(list(map(int, input().split())))
for i in range(1, N-1):
    for j in range(1, N-1):
        flower.append((i,j))
for flower_comb in combinations(flower, 3):
    temp = 0
    flag = 0
    visited = [[0 for i in range(N)] for j in range(N)]
    for flo in flower_comb:
        if visited[flo[0]][flo[1]] == 0:
            visited[flo[0]][flo[1]]
            temp += arr[flo[0]][flo[1]]
        else:
            flag = 1
            break
        for i in range(4):
            dx = flo[0] + nx[i]
            dy = flo[1] + ny[i]
            if visited[dx][dy] == 0:
                visited[dx][dy] = 1
                temp += arr[dx][dy]
            else:
                flag = 1
                break
    if not flag:
        MIN = min(MIN, temp)
print(MIN)

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.