Pagini recente » Cod sursa (job #3284382) | Cod sursa (job #62962) | Cod sursa (job #287463) | Cod sursa (job #67160) | Cod sursa (job #414441)
Cod sursa(job #414441)
#include <cstdio>
#include <climits>
#define DIM 32
int a[DIM][DIM], m, n, max = INT_MIN, flip[DIM];
void verif()
{
int s = 0;
for (int i = 1; i <= n; ++i)
{
int sum = 0;
for (int j = 1; j <= m; ++j) sum += a[i][j] * flip[j];
s += (sum > 0)?sum:-sum;
}
if (s > max) max = s;
}
void back(int k)
{
if (k > m)
{
verif();
return;
}
flip[k] = 1;
back(k+1);
flip[k] = -1;
back(k+1);
}
int main()
{
FILE *f = fopen("flip.in", "r");
fscanf(f, "%d%d", &n, &m);
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
fscanf(f, "%d", &a[i][j]);
fclose(f);
back(1);
f = fopen("flip.out", "w");
fprintf(f, "%d\n", max);
fclose(f);
return 0;
}