Pagini recente » Cod sursa (job #1796994) | Cod sursa (job #3137244) | Cod sursa (job #131008) | Cod sursa (job #1225271) | Cod sursa (job #1982846)
#include<cstdio>
using namespace std;
#define Abs(x) (x<0?-x:x)
unsigned int mask_i[17], mask_j[17], state;
const unsigned int minusunu = -1;
int a[17][17], max = -257000000, s, i, j, n, m;
int main() {
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%d%d", &n, &m);
for(i=1; i<=n; i++) mask_i[i] = 1 << (i - 1);
for(j=1; j<=m; j++) mask_j[j] = 1 << (j + n - 1);
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
scanf("%d", &a[i][j]);
state = 1 << (n+m);
do {
s = 0;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
s += a[i][j] * ((state & mask_i[i])?1:-1) * ((state & mask_j[j])?1:-1);
if(Abs(s) > max)
max = Abs(s);
state--;
} while(state != minusunu);
printf("%d\n", max);
return 0;
}