[백준] 14889 스타트와 링크
0~n까지 조합을 생성하여 리스트에 담으면 첫 조합의 여집합은 마지막 조합이다.
즉 team_score[i] 는 team_score[-i-1]과 완전히 반대된다.이를 이용하여 풀면 쉽다.
from itertools import combinations
n=int(input())
num=[i for i in range(n)]
score=[]
for _ in range(n):
score.append(list(map(int,input().split())))
team_score=[]
for combi in combinations(num,len(num)//2):
tmp=0
for c in combinations(combi,2):
x,y=c
tmp+=score[x][y]+ score[y][x]
team_score.append(tmp)
answer=[]
for i in range(len(team_score)//2):
answer.append(abs(team_score[len(team_score)-i-1]-team_score[i]))
print(min(answer))
Author And Source
이 문제에 관하여([백준] 14889 스타트와 링크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@code12/백준-14889-스타트와-링크저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)