[실버 2] 백준 17213 - 과일 서리 (파이썬)
글 작성자: pental
https://www.acmicpc.net/problem/17213
풀이
서로 다른 N개의 과일 중에서 M개를 훔쳐올 때, 적어도 1개씩은 훔치는 경우의 수를 구하는 문제이다.
적어도 1개씩 N종료의 과일을 가져온다는 조건은 곧 M개의 과일을 N개의 상자에 각각 적어도 1개씩 넣는 방법의 수를 묻는 것과 같다.
이는 중복 조합의 문제로 환원되며, 중복 조합의 식은 다음과 같다.
answer = 1
for i in range(1, M - N + 1) :
answer *= (M - i)
answer //= i
위 코드는 nCr의 계산 중에서 n = M - 1, r = M - N을 계산하는 것이다.
파이썬 내장 함수 없이 직접 계산이 가능하다. (Collection 모듈)
코드
# 백준 17213 - 과일 서리
# 분류 : 다이나믹 프로그래밍
N = int(input())
M = int(input())
# M - 1 C M - N
answer = 1
for i in range(1, M - N + 1) :
answer *= (M - i)
answer //= i
print(answer)
'Programming > 백준' 카테고리의 다른 글
[플래티넘 5] 백준 20188 - 등산 마니아 (파이썬) (0) | 2025.07.03 |
---|---|
[골드 2] 백준 1655 - 가운데를 말해요 (파이썬) (0) | 2025.07.02 |
[골드 4] 백준 1327 - 소트 게임 (파이썬) (0) | 2025.07.02 |
[플래티넘 5] 백준 1102 - 발전소 (파이썬) (0) | 2025.07.01 |
[골드 5] 백준 1354 - 무한 수열 2 (파이썬) (0) | 2025.07.01 |
댓글
이 글 공유하기
다른 글
-
[플래티넘 5] 백준 20188 - 등산 마니아 (파이썬)
[플래티넘 5] 백준 20188 - 등산 마니아 (파이썬)
14:51:57 -
[골드 2] 백준 1655 - 가운데를 말해요 (파이썬)
[골드 2] 백준 1655 - 가운데를 말해요 (파이썬)
2025.07.02 -
[골드 4] 백준 1327 - 소트 게임 (파이썬)
[골드 4] 백준 1327 - 소트 게임 (파이썬)
2025.07.02 -
[플래티넘 5] 백준 1102 - 발전소 (파이썬)
[플래티넘 5] 백준 1102 - 발전소 (파이썬)
2025.07.01