Pagini recente » Cod sursa (job #3278434) | Cod sursa (job #1163869) | Cod sursa (job #1215303) | Cod sursa (job #1215304) | Cod sursa (job #1195353)
#include <stdio.h>
#include <iostream>
long long int a[20][20],n,m,max;
long long int Sum()
{
long long int i,j,summ;
summ=0;
for (i=0;i<n;i++)
for (j=0; j<m; j++) summ+=a[i][j];
return summ;
}
void back(){
long long int i,j,temp1,temp2;
long long int cur = Sum();
if (cur > max) max=cur;
for (i=0; i<n; i++){
temp1=0;
temp2=0;
for (j=0; j<m; j++) {temp1+=a[i][j]; temp2+=-1*a[i][j];}
if (temp2>temp1) { for (j=0; j<m; j++) a[i][j]*=-1; back(); for (j=0; j<m; j++) a[i][j]*=-1;}
}
for (j=0; j<m; j++){
temp1=0;
temp2=0;
for (i=0;i<n;i++) {temp1+=a[i][j]; temp2+=-1*a[i][j];}
if (temp2>temp1) { for (i=0;i<n;i++) a[i][j]*=-1; back(); for (i=0;i<n;i++) a[i][j]*=-1;}
}
}
int main(){
long long int i,j;
freopen("flip.in","r",stdin);
scanf("%lld %lld\n",&n,&m);
for (i=0; i<n; i++){
for (j=0; j<m; j++)
scanf("%lld", &a[i][j]);
scanf("\n");
}
max=Sum();
back();
freopen("flip.out","w",stdout);
printf("%lld",max);
return 0;
}