Pagini recente » Cod sursa (job #380329) | Cod sursa (job #1439309) | Cod sursa (job #1262601) | Cod sursa (job #3254406) | Cod sursa (job #1730527)
#include <iostream>
#include <fstream>
#include <bitset>
#include <math.h>
#define NMAX 20
using namespace std;
int a[20][20],n,m,sum=0;
int lin[NMAX],col[NMAX];
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];
lin[i]+=a[i][j];
col[j]+=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)
sumrez-=2*lin[k];
}
for(int k=1;k<=m&&jc;k++){
digit = jc%2;
jc/=2;
if(digit)
sumrez-=2*col[k];
}
maxim=max(maxim,sumrez);
}
g << maxim;
f.close();
g.close();
return 0;
}