Pagini recente » Cod sursa (job #1631243) | Cod sursa (job #1343085) | Cod sursa (job #43464) | Cod sursa (job #1085197) | Cod sursa (job #1307249)
#include <stdio.h>
#include <stdlib.h>
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
long long i, k;
int n, m, a[20], b[20], v[20][20], cv[20][20], s = 0, sum, cs, j;
scanf("%d%d", &n, &m);
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
{
scanf("%d", &v[i][j]);
s += v[i][j];
}
sum = s;
for(i = 0; i < (1<<(m + n)); i++)
{
for(j = 0; j < n; j++)
for(k = 0; k < m; k++)
cv[j][k] = v[j][k];
cs = s;
k = i;
for(j = 0; j < n; j++)
{
a[j] = k % 2;
k >>= 1;
}
for(j = n; j < m + n; j++)
{
b[j - n] = k % 2;
k >>= 1;
}
for(j = 0; j < n; j++)
if(a[j] == 1)
for(k = 0; k < m; k++)
{
cv[j][k] = -cv[j][k];
cs += 2 * cv[j][k];
}
for(j = 0; j < m; j++)
if(b[j] == 1)
for(k = 0; k < n; k++)
{
cv[k][j] = -cv[k][j];
cs += 2 * cv[k][j];
}
if(cs > sum)
sum = cs;
}
printf("%d", sum);
return 0;
}