Pagini recente » Cod sursa (job #374137) | Cod sursa (job #2137848) | Cod sursa (job #1362452) | Cod sursa (job #792363) | Cod sursa (job #1175164)
#include <stdio.h>
#include <stdlib.h>
int i,j,m,n;
long a[16][16],sum,smax,st[16];
void backt(int k);
int main()
{
FILE *pf,*pfi;
pf= fopen("flip.in","r");
pfi=fopen("flip.out","w");
fscanf(pf,"%d %d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
fscanf(pf,"%ld",&a[i][j]);
backt(0);
fprintf(pfi,"%ld",smax);
return 0;
}
void backt(int k)
{
int i,j,s,t;
if (k==m)
{
s=0;
for (i=0;i<n;i++)
{
for (t=j=0;j<m;j++)
if (st[j])
t+=-a[i][j];
else
t+=a[i][j];
s+=t<-t ? -t : t;
}
if (smax<s)
smax=s;
return;
}
st[k]=0;
backt(k+1);
st[k]=1;
backt(k+1);
}