Pagini recente » Cod sursa (job #849085) | Cod sursa (job #1545040) | Cod sursa (job #2957730) | Clasament dupa rating | Cod sursa (job #2040439)
#include <iostream>
#include <cstdio>
#include <cmath>
#define MAXNM 17
using namespace std;
FILE *fin=fopen("flip.in","r"),*fout=fopen("flip.out","w");
int n,m,mt[MAXNM][MAXNM],maxs;
bool st[MAXNM];
void calc(){
int auxs=0;
for(int j=1;j<=m;j++){
int sc=0;
for(int i=1;i<=n;i++){
if(st[i]==0){
sc-=mt[i][j];
}
else
sc+=mt[i][j];
}
if(sc<0){
sc*=-1;
}
auxs+=sc;
}
if(auxs>maxs) maxs=auxs;
}
void bt(int niv){
if(niv>n){
calc();
return;
}
for(int i=0;i<=1;i++){
st[niv]=i;
bt(niv+1);
}
}
int main(){
fscanf(fin,"%d%d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
fscanf(fin,"%d",&mt[i][j]);
maxs+=mt[i][j];
}
}
bt(1);
fprintf(fout,"%d",maxs);
return 0;
}