Pagini recente » Cod sursa (job #5284) | Cod sursa (job #2365965) | Cod sursa (job #1267278) | Cod sursa (job #296279) | Cod sursa (job #2863253)
#include <fstream>
using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
const int NMAX = 20;
int n, m, sumMax;
int a[NMAX][NMAX], b[NMAX][NMAX];
int main(int argc, const char * argv[]) {
cin>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
cin>>a[i][j];
const int limit = (1<<n);
for(int c=1; c<=limit; c++)
{
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
b[i][j] = a[i][j];
for(int i=1; i<=n; i++)
{
if(!((c & (1<<(i-1))) > 0))
continue;
for(int j=1; j<=m; j++)
b[i][j] *= -1;
}
for(int j=1; j<=m; j++)
{
int s = 0;
for(int i=1; i<=n; i++)
s += b[i][j];
if(s >= 0)
continue;
for(int i=1; i<=n; i++)
b[i][j] *= -1;
}
int sum = 0;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
sum += b[i][j];
sumMax = max(sumMax, sum);
}
cout<<sumMax;
return 0;
}