Pagini recente » Cod sursa (job #2109088) | Cod sursa (job #610158)
Cod sursa(job #610158)
#include <stdio.h>
#include <limits.h>
#define MN (16)
int N, M, n[MN][MN], X = LONG_MIN;
int row[MN];
void sol()
{
int S = 0, s, i, j;
for(j = 0; j < M; ++ j, S += s) {
for(s = i = 0; i < N; ++ i)
s += n[i][j]*row[i];
s = s < 0? -s : s;
}
X = S > X? S : X;
}
void bkt(int k)
{
if(k >= N)
sol();
else {
row[k] = -1;
bkt(k+1);
row[k] = 1;
bkt(k+1);
}
}
int main()
{
int i, j;
freopen("flip.in", "r", stdin);
scanf("%d %d", &N, &M);
for(i = 0; i < N; ++ i)
for(j = 0; j < M; ++ j)
scanf("%d", &n[i][j]);
fclose(stdin);
bkt(0);
freopen("flip.out", "w", stdout);
printf("%d\n", X);
fclose(stdout);
return 0;
}