백준 14889번 스타트와 링크

born_a·2022년 11월 1일
0

문제

https://www.acmicpc.net/problem/14889

설계

파이썬 라이브러리 - itertools

코딩

import itertools

n = int(input())
arr = [i for i in range(n)]
cases = list(itertools.combinations(arr, n//2))
min_sum = n * n * 100

for i in range(n):
   arr[i] = list(map(int, input().split()))

for case_start in cases:
    sum_start = 0
    sum_link = 0
    for i in case_start:
        for j in case_start:
            if i == j: continue
            sum_start += arr[i][j]
    case_link = [i for i in range(n) if i not in case_start]
    for i in case_link:
        for j in case_link:
            if i == j: continue
            sum_link += arr[i][j]
    min_sum = min(min_sum,abs(sum_start - sum_link))
    
print(min_sum)

참조
https://tw0226.tistory.com/41

0개의 댓글