※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 3067번 문제인 Coins이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/3067
3067번: Coins
우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 모든 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어 30원을 만들기 위해
www.acmicpc.net
9084번 문제와 동일한 문제이다. 해당 글을 참고하여 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <cstring>
using namespace std;
int val[20001];
void solve() {
memset(val, 0, sizeof(val));
val[0] = 1;
int N; cin >> N;
while (N--) {
int x; cin >> x;
for (int i = 0; i < 10001; i++) {
val[i + x] += val[i];
}
}
int M; cin >> M;
cout << val[M] << '\n';
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int T; cin >> T;
while (T--) {
solve();
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 5014 // C++] 스타트링크 (0) | 2022.05.29 |
---|---|
[BOJ 14936 // C++] 엘리베이터 장난 (0) | 2022.05.29 |
[BOJ 5934 // C++] Visiting Cows (0) | 2022.05.29 |
[BOJ 7573 // C++] 고기잡이 (0) | 2022.05.28 |
[BOJ 2078 // C++] 무한이진트리 (0) | 2022.05.27 |