Maximum Sum

来源:互联网 发布:美工外包 编辑:程序博客网 时间:2024/06/05 20:32
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 1005;int dp[ maxn ][ maxn ], num[ maxn ][ maxn ];int main(){int n;while( cin >> n ){memset( num, 0, sizeof( num ) );for( int i = 1; i <= n; ++i ){for( int j = 1; j <= n; ++j ){cin >> num[ i ][ j ];num[ i ][ j ] += num[ i - 1 ][ j ];}}int sum = 0;int Max = num[ 1 ][ 1 ];for( int i = 1; i <= n; ++i ){for( int j = i; j <= n; ++j ){int sum = 0;for( int k = 1; k <= n; ++k ){if( sum < 0 ){sum = num[ j ][ k ] - num[ i ][ k ];}else if( i != j ){sum += num[ j ][ k ] - num[ i ][ k ];}if( sum > Max )Max = sum;}}}cout << Max << endl;}return 0;}

原创粉丝点击