Pagini recente » Cod sursa (job #402727) | Cod sursa (job #2727892) | Cod sursa (job #1042363) | Cod sursa (job #719583) | Cod sursa (job #2231159)
#include <bits/stdc++.h>
#define lsb(x) x & -x
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
const int NMAX = 20;
int v[NMAX][NMAX];
int main() {
int n, m;
in >> n >> m;
for(int i = 1; i <= n; i ++)
for(int j = 1; j <= m; j ++)
in >> v[i][j];
int sol = -20000000;
for(int step = 0; step < (1 << n); step ++) {
for(int i = 0; i < n; i ++)
if((1 << i) & step)
for(int j = 1; j <= m; j ++)
v[i + 1][j] *= (-1);
int pret = 0;
for(int j = 1; j <= m; j ++) {
int sum = 0;
for(int i = 1; i <= n; i ++)
sum += v[i][j];
if(sum < 0)
pret -= sum;
else
pret += sum;
}
sol = max(sol, pret);
for(int i = 0; i < n; i ++) ///go back
if((1 << i) & step)
for(int j = 1; j <= m; j ++)
v[i + 1][j] *= (-1);
}
out << sol;
return 0;
}