티스토리 뷰

반응형

https://www.acmicpc.net/problem/16938

 

16938번: 캠프 준비

난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다.

www.acmicpc.net

 


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 수학
  • 브루트포스 알고리즘
  • 조합론
  • 백트래킹

 


 

⊙ 문제 접근 과정

 

값을 입력받고 2개 이상부터 N개까지 조합을 해준다. 그리고 L <= sum <= R을 만족하고 가장 큰 값과 가장 작은 값의 합이 X이상인 조합이 있다면 count up을 해준다.

 


 

⊙ 문제 풀이

 

from itertools import combinations

N, L, R, X = map(int, input().split())
difficulty = list(map(int, input().split()))
count = 0

for i in range(2,N+1):
    difficultyComb = list(combinations(difficulty,i))
    for j in difficultyComb:
        if L<=sum(j)<= R and max(j)-min(j) >= X:
            count+=1
    
print(count)

 


⊙ 결과

 


⊙ 마무리

 

 

NONE

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함