Pagini recente » Cod sursa (job #3159340) | Cod sursa (job #1595807) | Cod sursa (job #2840283) | Cod sursa (job #1918998) | Cod sursa (job #1113886)
#include <cstdio>
using namespace std;
const int NMAX = 20;
int N, M, S = - (1 << 30);
int matrix[NMAX][NMAX];
void solve() {
int x = 0, y, maxN = 1 << N, maxM = 1 << M, s = 0;
while( x < maxN) {
y = 0;
while( y < maxM) {
for(int i = 1; i <= N; i++)
for(int j = 1; j <= M; j++)
s+= matrix[i][j] * ( (x & (1 << i)) ? -1 : 1) * ( (y & (1 << j)) ? -1 : 1);
if ( s > S )
S = s;
s = 0;
y++;
}
x++;
}
}
int main() {
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%d%d", &N, &M);
for(int i = 1; i <= N; i++)
for(int j = 1; j <= M; j++)
scanf("%d", &matrix[i][j]);
solve();
printf("%d\n", S);
return 0;
}