Pagini recente » Cod sursa (job #1004601) | Clasament oji_2020_x | Cod sursa (job #1956696) | Istoria paginii runda/oni2019ziua2 | Cod sursa (job #260432)
Cod sursa(job #260432)
/*
* flip.c
*
* Created on: Feb 16, 2009
* Author: scythe
*/
#include <stdio.h>
int n, m, semn_l[16]; long int mat[16][16], max = -900000000;
FILE *fin, *fout;
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);
}
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;
}