Pagini recente » Cod sursa (job #2823798) | Cod sursa (job #660537) | Cod sursa (job #3202646) | Cod sursa (job #1447846) | Cod sursa (job #561373)
Cod sursa(job #561373)
#include <stdio.h>
int A[20][20], tag[20];
int max = -1000000000;
int m, n;
void invers()
{
int i, j, s;
int total = 0;
for (i=1; i<=n; ++i) {
s = 0;
for (j=1; j<=m; ++j)
s += (A[i][j]*tag[j]);
if (s<0)
s *= -1;
total += s;
}
if (total > max)
max = total;
}
void generare(int k)
{
if (k>m)
invers();
else {
tag[k] = 1;
generare(k+1);
tag[k] = -1;
generare(k+1);
}
}
void citire()
{
int i, j;
scanf("%d %d", &n, &m);
for (i=1; i<=n; ++i)
for (j=1; j<=m; ++j)
scanf("%d", &A[i][j]);
}
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
citire();
generare(1);
printf("%d\n", max);
return 0;
}