Skip to content

Commit 95d9c4a

Browse files
committed
Added more problems
1 parent d235984 commit 95d9c4a

File tree

3 files changed

+70
-6
lines changed

3 files changed

+70
-6
lines changed

Dynamic programming 2/Subsetsum.cpp

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,78 @@ YES
2727

2828
using namespace std;
2929

30+
void go(vector<int> arr, int n, int i , int sum){
31+
vector<vector<int>> dp(n+1, vector<int>(sum+1, 0));
32+
33+
for (int i = 0; i < n+1; ++i)
34+
{
35+
dp[i][0] = 1;
36+
}
37+
38+
for (int i = 1; i < sum+1; ++i)
39+
{
40+
dp[n][i] = 0;
41+
}
42+
43+
for (int j = 1; j < sum+1; ++j)
44+
{
45+
for (int i = n-1; i >= 0; --i)
46+
{
47+
bool c1 = 0;
48+
if (j-arr[i]>=0)
49+
{
50+
c1 = dp[i+1][j-arr[i]];
51+
}
52+
53+
if (c1 == 1)
54+
dp[i][j] = 1;
55+
else
56+
{
57+
dp[i][j] = dp[i+1][j];
58+
59+
}
60+
}
61+
}
62+
63+
// for (int i = 0; i < n+1; ++i)
64+
// {
65+
// for (int j = 0; j < sum+1; ++j)
66+
// {
67+
// cout<<dp[i][j]<<" ";
68+
// }
69+
// cout <<'\n';
70+
// }
71+
72+
if (dp[0][sum] == 1)
73+
{
74+
cout << "Yes" << '\n';
75+
}else
76+
cout << "No" << '\n';
77+
78+
return;
79+
80+
81+
82+
}
3083

3184
int main( int argc , char ** argv )
3285
{
3386
ios_base::sync_with_stdio(false) ;
34-
cin.tie(NULL) ;
87+
cin.tie(NULL);
3588

89+
int n;
90+
cin>>n;
91+
92+
vector<int> arr(n, 0);
93+
for (int i = 0; i < n; ++i)
94+
{
95+
cin>>arr[i];
96+
}
97+
98+
int sum;
99+
cin>>sum;
100+
101+
go(arr, n, 0, sum);
36102

37103

38104

Dynamic programming 2/Test.txt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2 2
2-
2 1
3-
1 1
4-
5-
0 0
1+
2
2+
1 2
3+
0

Dynamic programming 2/a.out

-8.27 KB
Binary file not shown.

0 commit comments

Comments
 (0)