Pagini recente » Cod sursa (job #735670) | Cod sursa (job #104784) | Cod sursa (job #2179077) | Cod sursa (job #2785265) | Cod sursa (job #91143)
Cod sursa(job #91143)
#include <stdio.h>
#define FIN "flip.in"
#define FOUT "flip.out"
int A[20][20];
int S[20];
int i, j, N, M;
int BEST = -10000000;
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d %d", &N, &M);
for (i = 1; i <= N; ++i)
for (j = 1; j <= M; ++j)
scanf ("%d", A[i] + j);
int x;
for (x = 0; x < (1 << N); ++x)
{
for (i = 1; i <= N; ++i)
if (x & (1 << (i - 1)))
for (j = 1; j <= M; ++j)
A[i][j] = - A[i][j];
int Sum = 0;
for (j = 1; j <= M; ++j)
{
int Sc = 0;
for (i = 1; i <= N; ++i)
Sc+=A[i][j];
if (Sc > 0) Sum +=Sc; else Sum -=Sc;
}
if (Sum > BEST) BEST = Sum;
for (i = 1; i <= N; ++i)
if (x & (1 << (j - 1)))
for (j = 1; j <= M; ++j)
A[i][j] = - A[i][j];
}
printf ("%d", BEST);
return 0;
}