Cod sursa(job #122593)

Utilizator katakunaCazacu Alexandru katakuna Data 12 ianuarie 2008 22:57:43
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>
int su,k,s,max,l,n,m,i,j,k2,l2;
int a[17][17];
int b[17][17];
int v[20];


int main(){
  FILE *f=fopen("flip.in","r");

 fscanf(f,"%d",&n);
 fscanf(f,"%d",&m);

 for(i=1;i<=n;i++){
    for(j=1;j<=m;j++){
    fscanf(f,"%d",&a[i][j]);
    }
 }

 max=0;

fclose(f);

 for(k=0;k<=(1<<m)-1;k++){

    for(l=m-1;l>=0;l--){
    v[l+1]=(k>>l)&1;
    }



      for(j=1;j<=m;j++){
       if(v[j]==1)
	 for(i=1;i<=n;i++) b[i][j]=-a[i][j];

       else  for(i=1;i<=n;i++) b[i][j]=a[i][j];

     }

     su=0;

    for(i=1;i<=n;i++){
    s=0;
       for(j=1;j<=m;j++){
       s+=b[i][j];
       }
    if(s<0)su+=-s;
      else su+=s;
    }

    if(su>max){max=su;}

   

 }

 FILE *g=fopen("flip.out","w");
 fprintf(g,"%d\n",max);
 fclose(g);

return 0;
}