-
#include <iostream>
-
-
using namespace std;
-
-
short Matrix[ 101 ][ 101 ][ 101 ][ 101 ] = { 0, };
-
-
int main( int argc, char **argv )
-
{
-
int MaxSum = -999999;
-
int size;
-
-
cin >> size;
-
-
for( int i = 1; i <= size; i++ ) {
-
for( int j = 1; j <= size; j++ ) {
-
cin >> Matrix[ i ][ j ][ i ][ j ];
-
}
-
}
-
-
for( int StartI = 1; StartI <= size; StartI++ ) {
-
for( int StartJ = 1; StartJ <= size; StartJ++ ) {
-
-
for( int EndI = StartI; EndI <= size; EndI++ ) {
-
for( int EndJ = StartJ; EndJ <= size; EndJ++ ) {
-
-
short RectangleSum = Matrix[ StartI ][ StartJ ][ EndI ][ EndJ - 1 ];
-
short LineSum = Matrix[ StartI ][ EndJ ][ EndI - 1 ][ EndJ ];
-
-
short NewLineSum = LineSum + Matrix[ EndI ][ EndJ ][ EndI ][ EndJ ];
-
Matrix[ StartI ][ EndJ ][ EndI ][ EndJ ] = NewLineSum;
-
-
short NewRectangleSum = RectangleSum + NewLineSum;
-
Matrix[ StartI ][ StartJ ][ EndI ][ EndJ ] = NewRectangleSum;
-
-
if( MaxSum < NewRectangleSum )
-
MaxSum = NewRectangleSum;
-
}
-
}
-
-
}
-
}
-
-
cout << MaxSum;
-
-
return 0;
-
}
-
댓글을 달아 주세요