Pagini recente » Cod sursa (job #2617897) | Cod sursa (job #1720173) | Cod sursa (job #2144946) | Cod sursa (job #1034895) | Cod sursa (job #1263984)
#include <algorithm>
#include "stdio.h"
using namespace std;
int N, M;
int matrix[16][16], smax = -10000000;
void aplicaConfiguratia(int* v)
{
int sum[16], s = 0;
for(int i = 0; i < N;++i)
sum[i] = 0;
for(int i = 0; i < N;++i)
for(int j = 0; j < M;++j)
if(v[j])
sum[i] += -matrix[i][j];
else
sum[i] += matrix[i][j];
for(int i = 0; i < N;++i)
s += abs(sum[i]);
smax = max(smax, s);
}
void back(int* v, int p, int n)
{
if(p == n){
aplicaConfiguratia(v);
}else{
for(int i = 0; i < 2;i++){
v[p] = i;
back(v,p+1,n);
}
}
}
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("%d",&matrix[i][j]);
}
int asd[36];
back(asd,0,M+N + 1);
printf("%d",smax);
return 0;
}