Pagini recente » Cod sursa (job #219168) | Cod sursa (job #1807894) | Cod sursa (job #1444826) | Rating Mindruta Razvan (Razvitim) | Cod sursa (job #55971)
Cod sursa(job #55971)
#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 k)
{int i,j;
s=s1;
for(i=1;i<=n;i++)
{s=s-cf[i][k];
cf[i][k]=a[i][k]*pow(-1,d[k]);
s=s+cf[i][k];}
s1=s;
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(k);
if(k<m)
bkt(k+1);}}
int main()
{citire();
bkt(1);
fprintf(g,"%lld",max);
fclose(f);
fclose(g);
return 0;}