幽灵特工 @ 2020-09-28 12:40:57
#include <bits/stdc++.h>
using namespace std;
int m[1001][1001]={-1};
int r;
int dp[1001][1001];
int main(){
cin>>r;
for(int i=1;i<=r;i++){
for(int j=1;j<=r;j++){
cin>>m[i][j];
}
}
int ans=-1;
dp[1][1]=m[1][1];
for(int i=2;i<r;i++){
for(int j=1;j<=i;j++){
dp[i][j]=max(dp[i-1][j]+m[i][j],dp[i-1][j]+m[i][j+1]);
ans=max(ans,dp[i][j]);
}
}
cout<<ans;
}
by szTom @ 2020-09-28 13:05:52
dp[1][1]=m[1][1];
for(int i=2;i<r;i++){
for(int j=1;j<=i;j++){
- dp[i][j]=max(dp[i-1][j]+m[i][j],dp[i-1][j]+m[i][j+1]);
+ dp[i][j]=max(dp[i-1][j]+m[i][j],dp[i-1][j+1]+m[i][j+1]);
- ans=max(ans,dp[i][j]);
}
}
+ for (int i = 1; i <= n; ++i) ans = max(dp[n][i], ans);
cout<<ans;
+ return 0;
}
by 幽灵特工 @ 2020-09-28 15:44:48
@szTom 啊哦,还是不对呢,对样例输出12