Pagini recente » Cod sursa (job #899433) | Cod sursa (job #548526) | Cod sursa (job #2137201) | Cod sursa (job #865048) | Cod sursa (job #1557636)
#include <iostream>
#include <fstream>
using namespace std;
#define MAX_map 18
int map[MAX_map][MAX_map];
int m, n; // n linii m coloane
long int maxa;
long int summ()
{
long int s = 0;
for( int y = 0; y < n; y++ )
for( int x = 0; x < m; x++ )
s += map[x][y];
return s;
}
long int WhatLine( int x, int y )
{
long int s_x = 0;
long int s_y = 0;
for( int i = 0; i < m; i++ ) // summ for x
s_x += -map[i][y];
for( int i = 0; i < n; i++ ) // summ for y
s_y += -map[x][i];
if( s_x > s_y )
{
for( int i = 0; i < m; i++ ) // summ for x
map[i][y] = -map[i][y];
} else
{
for( int i = 0; i < n; i++ ) // summ for y
map[x][i] = -map[x][i];
}
return summ();
}
int main()
{
ifstream f("flip.in");
f >> n >> m;
for( int y = 0; y < n; y++ )
for( int x = 0; x < m; x++ )
f >> map[x][y];
f.close();
maxa = WhatLine(0, 0);
for(int i=0; i<m*n; i++)
for( int y = 0; y < n; y++ )
for( int x = 0; x < m; x++ )
{
long int loc_max = WhatLine(x, y);
if( loc_max > maxa )
maxa = loc_max;
}
ofstream ff("flip.out");
ff << maxa;
ff.close();
return 0;
}