Skip to content

Commit c7ca2da

Browse files
authored
Merge pull request #2 from piyush072/DP
Dp
2 parents 421cab5 + 2424869 commit c7ca2da

File tree

4 files changed

+127
-0
lines changed

4 files changed

+127
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
}

Data Structures/Tree/tree.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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+
}

0 commit comments

Comments
 (0)