728x90
문제 링크: https://www.acmicpc.net/problem/14889
문제 풀이
파이썬에서는 itertools 모듈이 있어서 조합을 구하기가 쉽다.
n명의 인원 중에서 $n/2$의 인원을 뽑고 나머지 인원은 set으로 차집합시켜서 빼줬다.
스타트 팀과 링크 팀의 능력치를 각각 구해주고 min()과 abs()를 이용하여 최소가 되는 차를 구해줬다.
예제 2에서 N=6이므로 각각 3명을 뽑는 경우 중 스타트 팀이 (1, 3, 6), 링크 팀이 (2, 4, 5)라고 하자.
스타트 팀의 능력치는 $S_{13}$, $S_{31}$, $S_{16}$, $S_{61}$, $S_{36}$, $S_{63}$의 값을 모두 더해야 한다.
마찬가지로 링크 팀의 능력치는 $S_{24}$, $S_{42}$, $S_{25}$, $S_{52}$, $S_{45}$, $S_{54}$의 값을 더하면 된다.
코드
728x90
'BOJ' 카테고리의 다른 글
[BOJ][Python] 백준 2903번 - 중앙 이동 알고리즘 (0) | 2021.09.21 |
---|---|
[BOJ][Python] 백준 10822번 - 더하기 (0) | 2021.09.21 |
[BOJ][Python] 백준 22993번 - 서든어택 3 (0) | 2021.09.21 |
[BOJ][Python] 백준 23031번 - 으어어... 에이쁠 주세요.. (0) | 2021.09.21 |
[BOJ][Python] 백준 22938번 - 백발백준하는 명사수 (0) | 2021.09.20 |