Pagini recente » Cod sursa (job #1085678) | Cod sursa (job #642192) | Cod sursa (job #1154539) | Statistici Burtan Ovidiu (ovo2204) | Cod sursa (job #1444691)
#include <iostream>
#include <fstream>
using namespace std;
#define MAX_N 16
int sumMax;
void generateComb(int mat[MAX_N][MAX_N], int m, int n)
{
int sumMat;
sumMax = 0;
for (int comb = 0; comb < (1 << m); comb++)
{
sumMat = 0;
for (int c = 0; c < n; c++)
{
int sum = 0;
for (int r = 0; r < m; r++)
{
mat[r][c] = (((1 << r) & comb) != 0) ? -mat[r][c] : mat[r][c];
sum += mat[r][c];
}
sumMat += abs(sum);
}
if (sumMax < sumMat) sumMax = sumMat;
}
}
int main()
{
ifstream in("flip.in", ios::in);
ofstream out("flip.out", ios::out);
int m, n;
int mat[MAX_N][MAX_N];
in >> m >> n;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
in >> mat[i][j];
}
}
sumMax = 0;
generateComb(mat, m, n);
out << sumMax;
return 0;
}