2293번 - 동전 1
#include
using namespace std;
int main() {
int i, j, n, k;
int dp[10001] = {0, };
scanf("%d %d", &n, &k);//"n"몇가지종류동전
int coins[n];//가짓수(종류)배열
for (i = 0; i < n; i++) scanf("%d", &coins[i]);//몇개씩있는지,배열칸마다값
dp[0] = 1;
for (i = 0; i < n; i++)//for example::n[0]
for (j = coins[i]; j <= k; j++)//coins[i] 동전종류 가져옴 for example::n[0]의 가치로 k얼마나 다양하게 채울수있나 두번쨰부턴
//그다음은 0 ,1 -> 0,1,2 사용해서 k 채울수있는 경우의수 구하기
if (j - coins[i] >= 0)//1원이면 2원하나로 2원이면 5원하나로 이런느낌?
dp[j] += dp[j - coins[i]]; <-----글을쓴이유(이녀석의 역할이 뭔가염 설명 정말 쉽게해주시면 감사하겠읍니다
printf("%d\n", dp[k]);
return 0;
}
댓글을 작성하려면 로그인해야 합니다.
darkprince 3년 전
#include
using namespace std;
int main() {
int i, j, n, k;
int dp[10001] = {0, };
scanf("%d %d", &n, &k);//"n"몇가지종류동전
int coins[n];//가짓수(종류)배열
for (i = 0; i < n; i++) scanf("%d", &coins[i]);//몇개씩있는지,배열칸마다값
dp[0] = 1;
for (i = 0; i < n; i++)//for example::n[0]
for (j = coins[i]; j <= k; j++)//coins[i] 동전종류 가져옴 for example::n[0]의 가치로 k얼마나 다양하게 채울수있나 두번쨰부턴
//그다음은 0 ,1 -> 0,1,2 사용해서 k 채울수있는 경우의수 구하기
if (j - coins[i] >= 0)//1원이면 2원하나로 2원이면 5원하나로 이런느낌?
dp[j] += dp[j - coins[i]]; <-----글을쓴이유(이녀석의 역할이 뭔가염 설명 정말 쉽게해주시면 감사하겠읍니다
printf("%d\n", dp[k]);
return 0;
}