문제풀이/완전탐색
[Python/파이썬] 백준 14889번 스타트와 링크
딜레이레이
2024. 5. 30. 19:15
https://www.acmicpc.net/problem/14889
코드
from itertools import combinations
n = int(input())
ability = [list(map(int, input().split())) for _ in range(n)]
ans = int(1e9)
for start in combinations(range(n), n//2):
start = set(start)
link = set(range(n))-start
# 스타트팀 능력치
start_ability = 0
for comb in combinations(list(start), 2):
start_ability += (ability[comb[0]][comb[1]]+ability[comb[1]][comb[0]])
# 링크팀 능력치
link_ability = 0
for comb in combinations(list(link), 2):
link_ability += (ability[comb[0]][comb[1]]+ability[comb[1]][comb[0]])
ans = min(ans, abs(start_ability-link_ability))
print(ans)