Pagini recente » Cod sursa (job #1456212) | Cod sursa (job #1414787) | Cod sursa (job #2879422) | Cod sursa (job #1703782) | Cod sursa (job #1730526)
#include <iostream>
#include <fstream>
#include <bitset>
#include <math.h>
#define NMAX 20
using namespace std;
int a[20][20],n,m,sum=0;
ifstream f("flip.in");
ofstream g("flip.out");
int main()
{
f >> n >> m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
f>>a[i][j];
sum+=a[i][j];
}
int digit;
int maxim=sum;
for(int i=1;i<(int)pow(2,n);i++)
for(int j=1;j<(int)pow(2,m);j++){
int ic=i;
int jc=j;
int sumrez=sum;
for(int k=1;k<=n&⁣k++){
digit = ic%2;
ic/=2;
if(digit)
for(int var=1;var<=m;var++){
a[k][var]*=-1;
sumrez=sumrez+(2*a[k][var]);
}
}
for(int k=1;k<=m&&jc;k++){
digit = jc%2;
jc/=2;
if(digit)
for(int var=1;var<=n;var++){
a[var][k]*=-1;
sumrez=sumrez+(2*a[var][k]);
}
}
ic=i;
jc=j;
for(int k=1;k<=n&⁣k++){
digit = ic%2;
ic/=2;
if(digit)
for(int var=1;var<=m;var++){
a[k][var]*=-1;
}
}
for(int k=1;k<=m&&jc;k++){
digit = jc%2;
jc/=2;
if(digit)
for(int var=1;var<=n;var++){
a[var][k]*=-1;
}
}
maxim=max(maxim,sumrez);
}
g << maxim;
f.close();
g.close();
return 0;
}