Pagini recente » Cod sursa (job #3189409) | Cod sursa (job #842590) | Cod sursa (job #2751793) | Cod sursa (job #3040839) | Cod sursa (job #6124)
Cod sursa(job #6124)
#include <stdio.h>
#include <iostream>
using namespace std;
#define MAX 20
#define INF 999999999
int n, m, a[MAX][MAX];
int aux, total, best = -INF, sum;
int x[MAX];
void compute();
void back(int k);
int main()
{
FILE *fin = fopen("flip.in", "r");
fscanf(fin, "%d%d", &n, &m);
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
fscanf(fin, "%d", &a[i][j]);
fclose(fin);
back(1);
FILE *fout = fopen("flip.out", "w");
fprintf(fout, "%d\n", best);
fclose(fout);
return 0;
}
void back(int k)
{
for (int i = 0; i <= 1; ++i)
{
x[k] = i;
if (k >= m) compute();
else
back(k+1);
}
}
void compute()
{
total = 0;
for (int i = 1; i <= n; ++i)
{
sum = 0;
for (int j = 1; j <= m; ++j)
{
if (x[j] == 1)
sum -= a[i][j];
else
sum+= a[i][j];
}
if (-sum > sum)
sum *= -1;
total += sum;
}
if (total > best)
best = total;
}