Pagini recente » Cod sursa (job #2633472) | Cod sursa (job #1338941) | Cod sursa (job #1780277) | Cod sursa (job #1616333) | Cod sursa (job #1706961)
#include <stdio.h>
using namespace std;
int n,m;
long long int tabla[20][20],maxim;
int sumaCol() {
long long int suma1,suma2,suma=0;
for(int i=0;i<m;i++) {
suma1=0,suma2=0;
for(int j=0;j<n;j++) {
suma1+=tabla[j][i];
suma2+=tabla[j][i]*(-1);
}
suma1>suma2?suma+=suma1:suma+=suma2;
}
return suma;
}
void rezolva(int nivel) {
if(nivel==n) {
long long int suma=sumaCol();
if(maxim<suma)
maxim=suma;
return;
}
rezolva(nivel+1);
for(int i=0;i<m;i++)
tabla[nivel][i]*=(-1);
rezolva(nivel+1);
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
scanf("%lld",&tabla[i][j]);
rezolva(0);
printf("%lld",maxim);
return 0;
}