Cod sursa(job #319187)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 30 mai 2009 19:21:55
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
 #include<stdio.h>  
 int a[17][17],i,x,j,n,s,smax,m,c[17][17],s1;  
 char b[17];  
 void verifical()  
 { s=0; 
   for(j=1;j<=m;j++)
     if(b[j-1]!='0')  for(i=1;i<=n;i++) c[i][j]=-a[i][j];
     else for(i=1;i<=n;i++) c[i][j]=a[i][j];
   for(i=1;i<=n;i++) { s1=0;
                       for(j=1;j<=m;j++) s1+=c[i][j];
                       if(s1>0) s+=s1;
                       else s-=s1;
                     }    
             
   if(s>smax)smax=s;  
 }  
 int gencodc(int i1)  
 { if(i1==m) verifical();  
   else { b[i1]='0'; gencodc(i1+1);  
          b[i1]='1'; gencodc(i1+1);  
        }  
 return 0;  
 }  
 int main()  
 { freopen("flip.in","r",stdin);  
   freopen("flip.out","w",stdout);  
   scanf("%d %d",&n,&m);  
   for(i=1;i<=n;i++)   
     for(j=1;j<=m;j++) scanf("%d",&a[i][j]),smax+=a[i][j];  
   gencodc(0);  
   printf("%d\n",smax);  
   fclose(stdin);  
   fclose(stdout);  
   return 0;  
}