File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed
Dynamic Programming/Coin_Change Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ #include < bits/stdc++.h>
3
+ using namespace std ;
4
+
5
+
6
+ long long int count ( long long int S[], long long int m, long long int n )
7
+ {
8
+ int table[m+1 ][n+1 ];
9
+ memset (table, 0 , sizeof (table));
10
+
11
+ for (long long int i=0 ;i<=m;i++)
12
+ {
13
+ table[i][0 ] = 1 ;
14
+ }
15
+ for (long long int i=1 ;i<=m;i++)
16
+ {
17
+
18
+ for (long long int j=1 ;j<=n;j++)
19
+ {
20
+ if (S[i-1 ]>j)
21
+ {
22
+ table[i][j]=table[i-1 ][j];
23
+
24
+ }
25
+
26
+ else
27
+ {
28
+ table[i][j]=table[i-1 ][j]+table[i][j-S[i-1 ]];
29
+ }
30
+
31
+ }
32
+ }
33
+ return table[m][n];
34
+ }
35
+ int main ()
36
+ {
37
+ int t;long long int n,m,i;
38
+ cin>>t;
39
+ while (t--){
40
+ cin>>m;
41
+ long long int S[m];
42
+ for (i=0 ;i<m;i++)
43
+ cin>>S[i];
44
+ cin>>n;
45
+ cout<<count (S,m,n)<<endl;
46
+ }
47
+ return 0 ;
48
+ }
You can’t perform that action at this time.
0 commit comments