Pagini recente » Cod sursa (job #1139099) | Cod sursa (job #2365132) | Cod sursa (job #2596621) | Cod sursa (job #23899) | Cod sursa (job #1325097)
#include <stdio.h>
#include <stdlib.h>
int m, n, s_max = -1;
int mat[16][16], v[16];
int abs(int x) { return x > 0 ? x : (-1) *x; }
int max(int a, int b) { return a > b ? a : b; }
void sum() {
int i, j, s, suma = 0;
for ( j = 0; j < m; j++ ) {
s = 0;
for ( i = 0; i < n; i++ )
s += mat[i][j] * v[i];
suma += abs(s);
}
s_max = max(suma,s_max);
}
void flip(int k) {
if ( k == n )
sum();
else {
v[k] = -1;
flip(k+1);
v[k] = 1;
flip(k+1);
}
}
int main()
{
FILE *in = fopen("flip.in","r");
FILE *out = fopen("flip.out","w");
fscanf(in,"%d %d",&n,&m);
int i, j;
for ( i = 0; i < n; i++ )
for ( j = 0; j < m; j++ )
fscanf(in,"%d",&mat[i][j]);
flip(0);
fprintf(out,"%d",s_max);
return 0;
}