파이썬/파이썬 문제
백준 13886 - 팀나누기
백수진
2021. 3. 10. 19:12
13866번: 팀 나누기
입력은 네 개의 정수 A, B, C 및 D가 포함된 한 줄로 구성되며 4명의 스킬 레벨이 주어진다. (0 ≤ A ≤ B ≤ C ≤ D ≤ 104)
www.acmicpc.net
1. ha (sum/2)의 값
총합을 2팀이기때문에 2로 나누면 중간점을 구할 수 있음
차의 최소를 구해야하기에 사용하며 3.번과 함께 이해하면 쉬움
2.for문
이중 for문을 활용해서 팀마다 가질 수 있는 level의 list에 1을 저장
3. for문
ha부터 0까지 탐색하며 level 두개의 합을 탐색하며 가장 먼저 발견된 값을 활용
4. 차의 최소구하기
3.에서 발견한 값과 sum-발견한 값의 차이를 구하면 차의 최소가 됨
list=[]
sum=0
for i in range(1,5):
t = int(input())
sum+=t
list.append(t)
#print(list)
list2 = []
i=0
a=0
while i!=1000000:
list2.append(a)
i+=1
ha = sum//2
for i in range(0,4):
for j in range(i+1,4):
temp = list[i] + list[j]
list2[temp]=1
i = ha
while True:
if list2[i]==1:
print("%d" %(sum-2*i))
break
i-=1