Skip to content

Commit 760c8c9

Browse files
max cut has been done
1 parent 841da0b commit 760c8c9

File tree

3 files changed

+50
-1
lines changed

3 files changed

+50
-1
lines changed

DynamicProgramming/editDistance.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ int editDistanceDp(string s1, string s2, int m, int n){
5050
}
5151

5252
else{
53-
dp[i][j] = 1 + min(dp[i][j-1], min(dp[i-1][j], dp[i-1][j-1]));
53+
dp[i][j] = 1 + min({dp[i][j-1],dp[i-1][j], dp[i-1][j-1]});
5454
}
5555

5656
}

DynamicProgramming/lis.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/*
2+
author:gulshan yadav
3+
email: gulshany01@gmail.com
4+
date: 24-Aug-2021
5+
*/
6+
#include<iostream>
7+
#include<bits/stdc++.h>
8+
using namespace std;
9+
10+
int longestIncreasing()

DynamicProgramming/maxCut.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
author:gulshan yadav
3+
email: gulshany01@gmail.com
4+
date: 25-Aug-2021
5+
*/
6+
#include<iostream>
7+
#include<bits/stdc++.h>
8+
using namespace std;
9+
10+
11+
int maxCuts(int n, int a, int b, int c){
12+
13+
int dp[n+1];
14+
dp[0] = 0;
15+
16+
for(int i = 1; i<= n; i++){
17+
dp[i] = -1;
18+
19+
if(i-a >= 0) dp[i] = max(dp[i], dp[i-a]);
20+
if(i-b >= 0) dp[i] = max(dp[i], dp[i-b]);
21+
if(i-c >= 0) dp[i] = max(dp[i], dp[i-c]);
22+
23+
if(dp[i] != -1) dp[i]++;
24+
}
25+
26+
return dp[n];
27+
28+
}
29+
30+
int main(){
31+
32+
int n,a,b,c;
33+
cin >>n >> a >> b >> c;
34+
35+
cout << maxCuts(n, a, b, c);
36+
37+
return 0;
38+
39+
}

0 commit comments

Comments
 (0)