Pagini recente » Cod sursa (job #850037) | Cod sursa (job #2324357) | Cod sursa (job #1458100) | Cod sursa (job #2293012) | Cod sursa (job #2445501)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
int a[100][100], n, m, sum, sumx;
int calcul()
{
int aux, sum = 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;
}
sum += aux;
}
}
int backtrack (int k)
{
if (k > m)
{
calcul();
sumx = 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;
}