Pagini recente » Cod sursa (job #1445326) | Cod sursa (job #1951658) | Cod sursa (job #1237955) | Cod sursa (job #1676434) | Cod sursa (job #55960)
Cod sursa(job #55960)
#include<stdio.h>
#include<math.h>
int n,m,d[20];
long a[20][20],cf[20][20];
long long max,s,s1,c;
FILE *f,*g;
void citire()
{f=fopen("flip.in","r");
g=fopen("flip.out","w");
fscanf(f,"%d %d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{fscanf(f,"%ld",&a[i][j]);cf[i][j]=a[i][j];
s1+=a[i][j];}
s=max=s1;}
void constituire()
{int i,j;
s=s1;
for(j=1;j<=m;j++)
for(i=1;i<=n;i++)
{cf[i][j]=a[i][j]*pow(-1,d[j]);
s=s-a[i][j]+cf[i][j];}
for(i=1;i<=n;i++)
{c=0;
for(j=1;j<=m;j++)
c+=cf[i][j];
if(c<0)
s=s-c+c*(-1);}
if(s>max)
max=s;
}
void bkt(int k)
{for(int i=0;i<=1;i++)
{d[k]=i;
constituire();
if(k<m)
bkt(k+1);}}
int main()
{citire();
bkt(1);
fprintf(g,"%lld",max);
fclose(f);
fclose(g);
return 0;}