Pagini recente » Cod sursa (job #2232442) | Cod sursa (job #2245297) | Cod sursa (job #1950004) | Cod sursa (job #3188920) | Cod sursa (job #64501)
Cod sursa(job #64501)
#include <stdio.h>
int a[16][16], nl, nc, v;
long long SMax;
int main()
{
int i, j;
long long s, S;
FILE *f=fopen ("flip.in", "r"), *g=fopen ("flip.out", "w");
fscanf (f, "%d %d", &nl, &nc);
for (i=0; i<nl; ++i)
for (j=0; j<nc; ++j)
fscanf (f, "%d", &a[i][j]);
fclose(f);
SMax=-256000001;
for (v=0; v<(1<<nc); ++v)
{
for (i=0; i<nc; ++i)
if (v&(1<<i))
for (j=0; j<nl; ++j)
a[j][i]*=-1;
for (S=0, i=0; i<nl; ++i)
{for (s=0, j=0; j<nc; ++j)
s+=a[i][j];
if (s<0) s=-s;
S+=s;
}
for (i=0; i<nc; ++i)
if (v&(1<<i))
for (j=0; j<nl; ++j)
a[j][i]*=-1;
if (S>SMax) SMax=S;
}
fprintf (g, "%lld\n", SMax);
fclose(g);
return 0;
}