#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <queue> #include <algorithm> #include <cmath> #define N 105 using namespace std; int n; int ma[N][N]; void print2(int ma[][N],int n) { for(int i=0; i<=n; i++) { printf("%d",ma[i][0]); for(int j=1; j<=n; ++j) printf(" %d",ma[i][j]); printf("\n"); } } int main() { #ifndef ONLINE_JUDGE freopen("ex.in","r",stdin); #endif // int t; // scanf("%d",&t); // while(t--) // { scanf("%d",&n); int maxv=-127; for(int i=1; i<=n; ++i) for(int j=1; j<=n; ++j) { scanf("%d",&ma[i][j]); ma[i][j]+=ma[i-1][j]; } // print2(ma,n); int sum=0; for(int i=1; i<=n; i++) { for(int j=i; j<=n; j++) { sum=0; for(int k=1; k<=n; k++) { if(sum>=0) sum+=ma[j][k]-ma[i-1][k]; else sum=ma[j][k]-ma[i-1][k]; if(sum>maxv) maxv=sum; } } } printf("%d\n",maxv); // } return 0; }
uva108 Maximum Sum--数组动态规划的题的方法!!
最新推荐文章于 2022-10-16 09:54:43 发布