데이터가 주어질 때 3대 중량이 500 밑으로 내려가지 않게 적절하게 키트 사용하기!
(자세한 문제는 백준 참고)
itertools의 permutations를 사용하여 해결했다.
각 키트의 순열을 뽑아서 각 경우마다 중량 변화를 탐색하고 문제에서 주어진 경우에 해당하는 것만 카운트 해줬다.
import itertools
N, K = map(int,input().split())
nums = list(map(int,input().split()))
cnt = 0
for kit in list(itertools.permutations((nums))):
samdae = 500
# 각 순열을 순회하며 3대 계산
for k in kit:
samdae = samdae - K + k
# 순회하면서 한번이라도 500밑으로 내려가면 break
if samdae < 500:
break
if samdae > 500:
cnt += 1
print(cnt)
samdae = 500 ㅋㅋㅋㅋㅋ