Pagini recente » Cod sursa (job #1315005) | Cod sursa (job #2200960) | Cod sursa (job #2086650) | Cod sursa (job #541076) | Cod sursa (job #1021483)
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
class Flip
{
int n, m, **matrix, *mark, sumFinal;
public:
Flip()
{
f >> n >> m;
matrix = new int*[n];
for (int i = 0; i < n; i++)
matrix[i] = new int[m];
mark = new int[n];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
f >> matrix[i][j];
}
int sum()
{
int sum = 0, sumAux;
for (int j = 0; j < m; j++)
{
sumAux = 0;
for (int i = 0; i < n; i++)
sumAux += (matrix[i][j] * mark[i]);
if (sumAux < 0)
sumAux *= -1;
sum += sumAux;
}
return sum;
}
void back(int k)
{
int sumAux2;
if (k == n)
{
sumAux2 = sum();
if (sumAux2 > sumFinal)
sumFinal = sumAux2;
}
else
{
mark[k] = -1;
back(k + 1);
mark[k] = 1;
back(k + 1);
}
}
void solve()
{
back(0);
g << sumFinal;
}
};
int main()
{
Flip flip;
flip.solve();
return 0;
}