반응형
문제
9084번: 동전
우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는
www.acmicpc.net
풀이
소스 코드
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
31
32
33
34
35
|
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
int dp[10001];
int main() {
int t;
cin >> t;
while (t > 0) {
// 입력
int n;
cin >> n;
vector<int> v;
for (int i = 0; i < n; i++) {
int coin;
cin >> coin;
v.push_back(coin);
}
int M;
cin >> M;
// 초기화
memset(dp, 0, sizeof(dp));
dp[0] = 1;
// 점화식 계산
for (int i = 0; i < v.size(); i++) {
for (int j = v[i]; j <= M; j++) {
dp[j] = dp[j] + dp[j - v[i]];
}
}
cout << dp[M] << '\n';
t--;
}
return 0;
}
|
cs |
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 17471] 게리맨더링 C++ (0) | 2021.09.29 |
---|---|
[백준 2668] 숫자고르기 C++ (0) | 2021.09.28 |
[백준 2981] 검문 C++ (0) | 2021.09.26 |
[백준 14226] 이모티콘 C++ (0) | 2021.09.26 |
[백준 2631] 줄세우기 C++ (0) | 2021.09.25 |