Pagini recente » Cod sursa (job #884692) | Cod sursa (job #3157255) | Cod sursa (job #882651) | Cod sursa (job #482682) | Cod sursa (job #64495)
Cod sursa(job #64495)
#include <stdio.h>
int a[16][16], nl, nc, v[16];
long long SMax;
void read()
{
int i, j;
FILE *f=fopen ("flip.in", "r");
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);
}
void sol()
{
int i, j;
long long s, S;
for (i=0; i<nc; ++i)
if (v[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[i])
for (j=0; j<nl; ++j)
a[j][i]*=-1;
if (S>SMax) SMax=S;
}
void gen_bin(int k)
{
int i;
if (k==nc) sol();
else
for (i=0; i<2; ++i)
{
v[k]=i;
gen_bin(k+1);
}
}
int main()
{
read();
SMax=-(1<<63);
gen_bin(0);
FILE *g=fopen ("flip.out", "w");
fprintf (g, "%lld\n", SMax);
fclose(g);
return 0;
}