Skip to content

Commit a8d4ae5

Browse files
authoredOct 2, 2021
Create Goldmine_DP.cpp
1 parent b6ba147 commit a8d4ae5

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
 
+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#include<bits/stdc++.h>
2+
using namespace std;
3+
int main()
4+
{
5+
int n,m;cin>>n>>m;
6+
int arr[n][m];
7+
8+
9+
for(int i=0;i<n;i++)
10+
{
11+
for(int j=0;j<m;j++)
12+
{
13+
cin>>arr[i][j];
14+
}
15+
}
16+
17+
int **dp;
18+
dp=new int*[n];
19+
for(int i=0;i<n;i++)
20+
dp[i]=new int[m];
21+
for(int j=m-1;j>=0;j--)
22+
{
23+
for(int i=n-1;i>=0;i--)
24+
{
25+
if(j==m-1)
26+
{
27+
dp[i][j]=arr[i][j];
28+
}
29+
else if(i==n-1)
30+
{
31+
dp[i][j]=arr[i][j]+max(dp[i][j+1],dp[i-1][j+1]);
32+
}
33+
else if(i==0)
34+
{
35+
dp[i][j]=arr[i][j]+max(dp[i][j+1],dp[i+1][j+1]);
36+
37+
}
38+
else
39+
{
40+
41+
dp[i][j]=arr[i][j]+max(dp[i][j+1],max(dp[i+1][j+1],dp[i-1][j+1]));
42+
43+
}
44+
}
45+
}
46+
47+
int b=dp[0][0];
48+
for(int i=1;i<n;i++)
49+
{
50+
51+
b =max(b,dp[i][0]);
52+
53+
}
54+
55+
cout<<b<<endl;
56+
}

0 commit comments

Comments
 (0)
Please sign in to comment.