Pagini recente » Cod sursa (job #3037664) | Cod sursa (job #2866840) | Cod sursa (job #1983956) | Cod sursa (job #1995784) | Cod sursa (job #1827318)
#include <fstream>
#define sz 16
using namespace std;
int n, m, x, sol, lnFlipSign[sz+1], colSum[sz+1], mat[sz+1][sz+1];
ifstream fin("flip.in");
ofstream fout("flip.out");
int main()
{
fin >> n >> m;
for (int i = 0; i < n; i++)
{
lnFlipSign[i] = 1;
for (int j = 0; j < m; j++)
{
fin >> x;
colSum[j] += x;
mat[i][j] = x;
}
}
for (int num = 0; num < (1<<n); num++)
{
for (int i = 0; i < n; i++)
{
int flipSign = 1;
if ((num&(1<<i)) > 0)
flipSign = -1;
if (lnFlipSign[i] != flipSign)
{
lnFlipSign[i] = flipSign;
for (int j = 0; j < m; j++)
colSum[j] += flipSign * 2 * mat[i][j];
}
}
int sum = 0;
for (int j = 0; j < m; j++)
sum += max(colSum[j], -colSum[j]);
sol = max(sol, sum);
}
fout << sol;
return 0;
}