Coding Test/C++
[DP (동적 프로그래밍) / BOJ 2293 / C++] 동전 1
코드진행형
2023. 8. 1. 20:49
https://www.acmicpc.net/problem/2293
2293번: 동전 1
첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.
www.acmicpc.net
이 문제도 앞에서 푼 것과 같은 문제이다. (1,2,3 더하기 4)
K라는 가치를 만들기 위해 값들을 더하는 경우의 수를 구하는 것이다!!!
동전은 무한대로 사용할 수 있다는 점을 명시하라!
#include <bits/stdc++.h>
using namespace std;
int dp[100001], n, k, t;
int main(){
cin >> n >> k;
dp[0]=1;
for(int i = 0 ; i < n ; i++){
cin >> t;
for(int j = 0 ; j <= k ; j++){
if(j-t>=0) dp[j] += dp[j-t];
}
}
cout << dp[k] << '\n';
}