728x90
문제 링크: https://www.acmicpc.net/problem/14889
14889번: 스타트와 링크
예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다.
www.acmicpc.net
문제 풀이
파이썬에서는 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 |