Pagini recente » Cod sursa (job #1750992) | Cod sursa (job #2040318) | Cod sursa (job #2445503)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
int a[100][100], n, m, sum, sumx;
int calcul()
{
int aux, sumx = 0;
for (int i = 1; i <= n; i++)
{
aux = 0;
for(int j = 1; j <= m; j++)
aux += a[i][j];
if (aux < 0)
{
aux *= -1;
}
sumx += aux;
}
}
int backtrack (int k)
{
if (k > m)
{
calcul();
sum = max(sum, sumx);
}
else
{
backtrack(k+1);
for (int i = 1; i <= n; i++)
{
a[i][k] *= -1;
}
backtrack(k+1);
}
}
int main()
{
fin >> n >> m;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
fin >> a[i][j];
}
}
backtrack(1);
fout << sum;
return 0;
}