티스토리 뷰
https://www.acmicpc.net/problem/3067
d[i] = 주어진 동전으로 i원을 만드는 경우의 수
오름차순으로 주어진 동전의 경우의 수를 차례대로 추가해가면 중복없이 테이블을 채울 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <cstdio> #include <cstring> int t,n,m,a[20],d[10001]; int main() { scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&m); d[0]=1; for(int i=0;i<n;i++) for(int j=a[i];j<=m;j++) d[j]+=d[j-a[i]]; printf("%d\n",d[m]); memset(d,0,sizeof(d)); } return 0; } | cs |
'Algorithm > BOJ' 카테고리의 다른 글
15654 N과 M (5) (0) | 2018.06.06 |
---|---|
15649 N과 M (1) (0) | 2018.06.06 |
15685 드래곤 커브 (3) | 2018.04.16 |
15686 치킨 배달 (0) | 2018.04.16 |
14891 톱니바퀴 (0) | 2018.04.09 |