File tree Expand file tree Collapse file tree 4 files changed +127
-0
lines changed
Algorithms/Dynamic Programming Expand file tree Collapse file tree 4 files changed +127
-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+
34+ // for(int i=0;i<=m;i++){
35+ // for(int j=0;j<=n;j++){
36+ // cout<<table[i][j]<<" ";
37+ // }
38+ // cout<<endl;
39+ // }
40+ return table[m][n];
41+ }
42+ int main ()
43+ {
44+ int t;long long int n,m,i;
45+ cin>>t;
46+ while (t--){
47+ cin>>m;
48+ long long int S[m];
49+ for (i=0 ;i<m;i++)
50+ cin>>S[i];
51+ cin>>n;
52+ cout<<count (S,m,n)<<endl;
53+ }
54+ return 0 ;
55+ }
Original file line number Diff line number Diff line change 1+ #include < iostream>
2+
3+ using namespace std ;
4+
5+ int main (){
6+ long n,i;
7+ cin>>n;
8+ long long int dp[100001 ];
9+ dp[0 ]=1 ;
10+ for (i=1 ;i<100001 ;i++){
11+ dp[i] = dp[i-1 ]*i;
12+ }
13+ cout<<dp[n]<<endl;
14+ }
Original file line number Diff line number Diff line change 1+ #include < iostream>
2+ #define NIL -1
3+ using namespace std ;
4+
5+ int memo[100001 ];
6+ int dp[100001 ];
7+
8+ void _inintialize (){
9+ long i;
10+ for (i=0 ;i<100001 ;i++)
11+ memo[i] = NIL;
12+ }
13+
14+ int fibo_top_down (int n){
15+ if (memo[n]==NIL){
16+ if (n<=1 ){
17+ memo[n] = n;
18+ }
19+ else
20+ memo[n] = fibo_top_down (n-1 ) + fibo_top_down (n-2 );
21+ }
22+ return memo[n];
23+ }
24+
25+ void fibo_bottom_up (){
26+ dp[0 ]=0 ;
27+ dp[1 ]=1 ;
28+ long i;
29+ for (i=2 ;i<100001 ;i++)
30+ dp[i]=dp[i-1 ]+dp[i-2 ];
31+ }
32+
33+ int main (){
34+ long long int n;
35+ cin>>n;
36+ _inintialize ();
37+ fibo_bottom_up ();
38+ cout<<fibo_top_down (n)<<endl<<dp[n]<<endl;
39+ }
Original file line number Diff line number Diff line change 1+ #include < bits/stdc++.h>
2+
3+ using namespace std ;
4+
5+ struct Node {
6+ int data;
7+ struct Node *next;
8+ Node (int data){
9+ this ->data = data;
10+ this ->next = NULL ;
11+ }
12+ };
13+
14+ int main (){
15+ Node *head = new Node (10 );
16+ head->next = new Node (20 );
17+ cout<<head->data <<" ->" <<head->next ->data <<endl;
18+ return 0 ;
19+ }
You can’t perform that action at this time.
0 commit comments