Pagini recente » Cod sursa (job #2651230) | Cod sursa (job #2232374) | Cod sursa (job #35753) | Cod sursa (job #743779) | Cod sursa (job #417360)
Cod sursa(job #417360)
#include <stdio.h>
int m,n,i,j,st[18];
long a[17][17],s,max;
FILE *f=fopen("flip.in","r"),*g=fopen("flip.out","w");
void back(int k)
{
if (k==m)
{
s=0;
int rez=0;
for (i=0;i<n;++i)
{
s=0;
for (j=0;j<m;++j)
{
s=s+st[j]*a[i][j];
}
if (s<0) s=s*(-1);
rez=rez+s;
}
if (rez>max) max=rez;
}
else
{
st[k]=1;
back(k+1);
st[k]=-1;
back(k+1);
}
}
int main(void)
{
fscanf(f,"%d%d",&n,&m);
for (i=0;i<n;++i)
for (j=0;j<m;++j)
{
fscanf(f,"%ld",&a[i][j]);
max=max+a[i][j];
}
back(0);
fprintf(g,"%ld\n",max);
fclose(g);
return 0;
}