Pagini recente » Cod sursa (job #1003855) | Cod sursa (job #702229) | Cod sursa (job #3169297) | Cod sursa (job #1045711) | Cod sursa (job #419647)
Cod sursa(job #419647)
#include<stdio.h>
#include<string.h>
FILE*f=fopen("flip.in","r");
FILE*g=fopen("flip.out","w");
int smax,a[20][20],j,n,x[20],m,i,b[20][20],S,s,r;
int back(int k){
int i; int s=0;
if(k==m+1){
memcpy(b,a,sizeof(a));
for(i=1;i<=m;i++){
if(x[i]==1){
for(j=1;j<=n;j++)
b[j][i]=-b[j][i];
}
}
S=0;
for(i=1;i<=n;i++){
s=0;
for(j=1;j<=m;j++)
s+=b[i][j];
if(s<0)
S=S-s;
else
S=S+s;
}
if(S>smax)
smax=S;
}
else{
for(i=0;i<=1;i++){
x[k]=i;
back(k+1);
}
}
return smax;
}
int main () {
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fscanf(f,"%d",&a[i][j]);
r=back(1);
fprintf(g,"%d",r);
fclose(f);
fclose(g);
return 0;
}