Pagini recente » Cod sursa (job #155873) | Cod sursa (job #325432) | Cod sursa (job #1466610) | Cod sursa (job #3156038) | Cod sursa (job #1231114)
#include <iostream>
#include <stdlib.h>
#include <fstream>
using namespace std;
int a[20][20], st[17], maxim = -99999999, n, m;
void back (int k)
{
if (k == m + 1)
{
int s = 0;
for (int i = 1; i <= n; i++)
{
int s_l = 0;
for (int j = 1; j <= m; j++)
s_l += a[i][j];
s += abs(s_l);
}
if (s > maxim)
maxim = s;
return;
}
for (int i = 0; i < 2; i++)
{
st[k] = i;
if (st[k] == 1)
{
for (int j = 1; j <= n; j++)
a[j][k] = -a[j][k];
}
back(k + 1);
if (st[k] == 1)
{
for (int j = 1; j <= n; j++)
a[j][k] = -a[j][k];
}
}
}
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
in >> n >> m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
in >> a[i][j];
in.close();
back(1);
out << maxim;
out.close();
return 0;
}