Pagini recente » Cod sursa (job #159839) | Cod sursa (job #578717) | Cod sursa (job #1838018) | Cod sursa (job #536366) | Cod sursa (job #68129)
Cod sursa(job #68129)
#include<stdio.h>
FILE *f=fopen("flip.in","r"),
*g=fopen("flip.out","w");
long n,m,i,j,a[17][17];
long long s,s2,sf;
void lin(long ar[17][17],long l)
{ if(l==n){ s=0;s2=0;
for(i=1;i<=n;i++) for(j=1;j<=m;j++) s+=ar[i][j];
for(i=1;i<=m;i++) ar[i][l]=-ar[i][l];
for(i=1;i<=n;i++) for(j=1;j<=m;j++) s2+=ar[i][j];
if(s>s2&&s>sf) sf=s;
else if(s2>sf) sf=s2;
}
else { lin(ar,l+1);
for(i=1;i<=m;i++) ar[i][l]=-ar[i][l];
lin(ar,l+1);
}
}
void col(long ar[17][17],long c)
{ if(c==m) { lin(ar,1);
for(i=1;i<=n;i++) ar[i][c]=-ar[i][c];
lin(ar,1);
}
else{ col(ar,c+1);
for(i=1;i<=n;i++) ar[i][c]=-ar[i][c];
col(ar,c+1);
}
}
int main()
{ fscanf(f,"%ld %ld",&n,&m);
for(i=1;i<=n;i++) for(j=1;j<=m;j++) fscanf(f,"%ld",&a[i][j]);
col(a,1);
fprintf(g,"%lld\n",sf);
fclose(f);
fclose(g);
return 0;
}