Pagini recente » Cod sursa (job #2323775) | Cod sursa (job #3254059) | Cod sursa (job #357334) | Cod sursa (job #2438269) | Cod sursa (job #957682)
Cod sursa(job #957682)
#include <fstream>
using namespace std;
int main()
{
int table[18][18];
int sign[18];
int sum, max = -2000000, s, n, m;
ifstream IN("flip.in");
ofstream OUT("flip.out");
IN >> n;
IN >> m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
IN >> table[i][j];
for (int i = 0; i < 18; i++)
sign[i] = 0;
while (!sign[0])
{
sum = 0;
int t = n;
for (int i = 1; i <= m; i++)
{
s = 0;
for (int j = 1; j <= n; j++)
{
if (sign[j])
s += -table[j][i];
else
s += table[j][i];
}
if (s < -s) s = -s;
sum += s;
}
if (max < sum) max = sum;
while (t >= 0 && sign[t])
{
sign[t] = 0;
t--;
}
sign[t++] = 1;
while (t <= n)
sign[t++] = 0;
}
OUT << max;
return 0;
}