Pagini recente » Cod sursa (job #2079246) | Cod sursa (job #156728) | Cod sursa (job #2693235) | Cod sursa (job #202158) | Cod sursa (job #2810769)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int m, n, a[20][20],coloana_sum[20],maxim;
void verifica()
{
int sum = 0;
for (int j = 0; j < m; j++)
sum += max(coloana_sum[j], -coloana_sum[j]);
maxim = max(sum, maxim);
}
void comutare(int r)
{
for (int j = 0; j < m; j++) {
a[r][j] *= -1;
coloana_sum[j] += 2 * a[r][j];
}
}
void bkt(int i = 0)
{
if (i == n)
{
verifica();
return;
}
bkt(i + 1);
comutare(i);
bkt(i + 1);
}
int main()
{
in >> n >> m;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++) {
in >> a[i][j];
coloana_sum[j] += a[i][j];
}
bkt();
out << maxim;
return 0;
}