Cod sursa(job #798286)

Utilizator un_nenorocitChelcioiu Daniel un_nenorocit Data 16 octombrie 2012 02:13:20
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
# 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;   
}