Pagini recente » Cod sursa (job #2619683) | Cod sursa (job #462330) | Cod sursa (job #2610248) | Cod sursa (job #1721547) | Cod sursa (job #265766)
Cod sursa(job #265766)
#include <stdio.h>
int n, m, semn_l[16]; long int mat[16][16], max = -900000000;
FILE *fin, *fout;
void readInput();
void bkt(int k);
int main(){
fin = fopen("flip.in", "r"); fout = fopen("flip.out", "w");
readInput();
bkt(0);
fprintf(fout, "%ld\n", max);
fclose(fin); fclose(fout);
return 0;
}
void readInput(){
int i, j;
fscanf(fin, "%d %d", &n, &m);
for ( i = 0; i < n; i++ ){
for ( j = 0; j < m; j++ )
fscanf(fin, "%ld", &mat[i][j]);
semn_l[i]=1;
}
}
void bkt(int k){
long int suma, sumat; int i, j;
if( k == m ){
suma = 0;
for ( i = 0; i < n; i++ ){
for ( sumat = j = 0; j < m; j++ )
sumat += semn_l[j] * mat[i][j];
suma += sumat<-sumat ? -sumat:sumat;
}
if ( suma > max )
max = suma;
return;
}
semn_l[k] = 1; bkt(k+1);
semn_l[k] = -1; bkt(k+1);
}