동전 바꿔주기
면접 대비시간 제한1초메모리 제한128 MB
목표 금액 T를 k종류의 동전으로, 각 동전마다 정해진 개수 제한 안에서 정확히 만드는 방법의 수를 구합니다.
- 난이도
보통10점 중 4점
- 유형
- 동적 계획법
- 정답자
- 아직 제출이 없습니다
문제
가게의 현금 출납기에는 k가지 동전이 있다. i번째 동전 종류는 한 개의 금액이 p_i이고, 모두 n_i개 있다.
가게 주인은 금액이 T원인 지폐 한 장을 이 동전들로 바꾸려고 한다. 각 동전 종류는 가지고 있는 개수 이하로만 사용할 수 있으며, 각 종류의 동전을 몇 개씩 쓰는지가 같다면 순서와 관계없이 같은 방법으로 센다.
T, k, 그리고 각 동전 종류의 금액 p_i와 개수 n_i가 주어질 때, 정확히 T원이 되도록 지폐를 동전으로 바꾸는 방법의 수를 구하라. 방법의 수는 2^31 - 1을 넘지 않는다고 가정한다.
입력
첫째 줄에 지폐의 금액 T가 주어진다. 0 < T <= 10,000이다.
둘째 줄에 동전 종류의 수 k가 주어진다. 0 < k <= 100이다.
셋째 줄부터 k개의 줄에는 각 동전 종류의 금액 p_i와 개수 n_i가 공백 하나로 구분되어 주어진다. 0 < p_i <= T, 0 < n_i <= 1,000이다.
출력
첫째 줄에 동전으로 T원을 만드는 방법의 수를 출력한다. 방법이 없으면 0을 출력한다.