Cod sursa(job #2030104)

Utilizator tgm000Tudor Mocioi tgm000 Data 1 octombrie 2017 09:04:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<cstdio>
int a[16][16];
int s[16];
int abst(int a){
   if(a>=0)
      return a;
   else
      return -a;
}
int main(){
   int n,m,i,j,maxi,mask,p,sum;
   freopen("flip.in","r",stdin);
   freopen("flip.out","w",stdout);
   scanf("%d%d",&n,&m);
   for(i=0;i<n;i++)
       for(j=0;j<m;j++)
         scanf("%d",&a[i][j]);
   maxi=0;
   for(j=0;j<(1<<m);j++){
      for(mask=1,p=0;mask<(1<<m);mask=(mask<<1),p++)
         if((j&mask)!=0){
            for(i=0;i<n;i++)
               s[i]-=a[i][p];
         }else{
            for(i=0;i<n;i++)
               s[i]+=a[i][p];
         }
      sum=0;
      for(i=0;i<n;i++)
         sum+=abst(s[i]);
      if(sum>maxi)
         maxi=sum;
      for(i=0;i<n;i++)
         s[i]=0;
   }
   printf("%d",maxi);
   return 0;
}