Pagini recente » Cod sursa (job #474704) | Rating Mazarianu Petrina (petrinamazarianu) | Cod sursa (job #215162) | Istoria paginii runda/concurs_11_12_02_27/clasament | Cod sursa (job #798286)
Cod sursa(job #798286)
# include <stdio.h>
# include <stdlib.h>
int **matrix, n, m, sol[17], sum, max_s = - 111110000;
void max_sum (int k) {
int max = 0;
if (k > m){
for (int i = 0; i < n; i++) {
sum = 0;
for (int j = 0; j < m; j++)
sum += matrix[i][j]*sol[j+1];
if (sum < 0)
sum = -sum;
max += sum;
}
if (max > max_s)
max_s = max;
}
else {
sol[k] = -1;
max_sum(k+1);
sol[k] = 1;
max_sum(k+1);
}
}
int main ()
{
FILE *f, *g;
f = fopen ("flip.in","r");
g = fopen ("flip.out","w");
fscanf(f,"%d %d",&n, &m);
matrix = (int**) malloc(n*m*sizeof(int));
for (int i = 0; i < n; i++) {
matrix[i] = (int*) malloc(m*sizeof(int));
for (int j = 0; j < m; j++)
fscanf(f,"%d", &matrix[i][j]);
}
max_sum(1);
fprintf(g, "%d", max_s);
return 0;
}