Pagini recente » Cod sursa (job #179256) | Cod sursa (job #1345715) | Cod sursa (job #1361359) | Cod sursa (job #2556821) | Cod sursa (job #2626875)
#include <stdio.h>
int m, n;
int sumaTotala;
int matrice[16][16];
int semn[16];
int CheckSum() {
int suma, total, i, k;
total = 0;
for(i=0; i<m; i++) {
suma = 0;
for(k=0; k<n; k++) suma += matrice[k][i]*semn[k];
if(suma < 0) suma = -suma;
total += suma;
}
return total;
}
void flipLine(int line) {
int sum;
if(line == n) {
sum = CheckSum();
if(sumaTotala < sum) sumaTotala = sum;
}
else {
semn[line] = 1;
flipLine(line+1);
semn[line] = -1;
flipLine(line+1);
}
}
int main() {
FILE *in, *out;
int i, k;
in = fopen("flip.in", "r");
fscanf(in, "%d%d", &n, &m);
for(i=0; i<n; i++) {
for(k=0; k<m; k++) fscanf(in, "%d", &matrice[i][k]);
}
fclose(in);
flipLine(0);
out = fopen("flip.out", "w");
fprintf(out, "%d", sumaTotala);
fclose(out);
return 0;
}