Pagini recente » Cod sursa (job #1829895) | Cod sursa (job #2597257) | Cod sursa (job #1189292) | Cod sursa (job #2480381) | Cod sursa (job #1140074)
#include <fstream>
#include <string.h>
using namespace std;
const int Nmax = 16;
int A[Nmax][Nmax];
int v[Nmax];
inline int max(int x, int y) { return x > y ? x : y; }
int main()
{
ifstream f ("flip.in");
ofstream g ("flip.out");
int N, M;
f >> N >> M;
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
f >> A[i][j];
int best = -1;
int sum = 0;
for (int n = 0; n < (1 << N); n++) {
memset(v, 0, sizeof(v));
sum = 0;
for (int i = 0; i < N; i++)
if (n & (1 << i))
for (int j = 0; j < M; j++)
v[j] += -A[i][j];
else
for (int j = 0; j < M; j++)
v[j] += A[i][j];
for (int j = 0; j < M; j++)
sum += v[j] > 0 ? v[j] : -v[j];
best = max(best, sum);
}
g << best << '\n';
return 0;
}