Cod sursa(job #129362)

Utilizator mariaciPopa Marius Ionut mariaci Data 29 ianuarie 2008 09:46:31
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>   
  
int n,m,a[20][20],st[20],sol;   
  
void verif()   
  {   
     int i,j,aux,tot;   
     for(tot=0,i=0;i<n;i++)   
       {   
     for(j=0,aux=0;j<m;j++)   
       aux+=st[j]*a[i][j];   
     tot+=((aux>0)?aux:-aux);   
       }   
     if(tot>sol) sol=tot;   
  }   
  
void back(int i)   
  {   
     if(i<m)   
       {   
      st[i]=1;   
      back(i+1);   
      st[i]=-1;   
      back(i+1);   
       }   
     else verif();   
  }   
  
int main ()   
  {   
     FILE *fi=fopen("flip.in","r"),   
      *fo=fopen("flip.out","w");   
     int i,j;   
     fscanf(fi,"%d %d",&n,&m);   
     sol=-1;   
     for(i=0;i<n;i++)   
       for(j=0;j<m;j++)   
     fscanf(fi,"%d",&a[i][j]);   
     back(0);   
     fprintf(fo,"%d",sol);   
     return(0);   
  }