Pagini recente » Cod sursa (job #2637354) | Cod sursa (job #3190070) | Cod sursa (job #142252) | Cod sursa (job #1467768) | Cod sursa (job #28289)
Cod sursa(job #28289)
#include<stdio.h>
long mat[20][20];
long max,rem[20],tmp,sum[20];
int m,n;
int check();
int savu_run(int p);
int final(int p);
int main(){
freopen("flip.in","rt",stdin);
freopen("flip.out","w+",stdout);
int i,j;
scanf("%d%d",&m,&n);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%ld",&mat[i][j]);
savu_run(0);
printf("%ld",max);
}
savu_run(int p){
int v;
for(v=0;v<2;v++){
rem[p]=v;
if(final(p))check();
else savu_run(p+1);
}
}
int check(){
int i,j;
long tmp=0;
for(i=0;i<m;i++)
sum[i]=0;
for(j=0;j<m;j++){
for(i=0;i<n;i++)
if(rem[i]==1)
sum[j]-=mat[i][j];
else
sum[j]+=mat[i][j];
if(sum[j]<0)tmp-=sum[j];
else tmp+=sum[j];
}
if(max<tmp)
max=tmp;
return 1;
}
int final(int p){
return p==n-1;
}