Cod sursa(job #16261)

Utilizator mike4problemsRadu Gabriel mike4problems Data 12 februarie 2007 19:12:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>

FILE *f;
#define In "flip.in"
#define Out "flip.out"

int n,m,a[16][16];
int s[16],sum;
int i,j,opt,nopt,max=0;

int main()
 {
 f=fopen(In,"r");
 fscanf(f,"%d%d",&n,&m);
 for(i=0;i<n;i++)
  for(j=0;j<m;j++)
   fscanf(f,"%d",&a[i][j]);
 for(opt=0,nopt=(1<<n);opt<nopt;opt++)
  {
  for(i=0;i<n;i++)
   if((opt>>i)&2)
    for(j=0;j<m;j++) s[j]-=a[i][j];
   else
    for(j=0;j<m;j++) s[j]+=a[i][j];
  for(sum=j=0;j<m;s[j++]=0)
   if(s[j]>0) sum+=s[j];
   else sum-=s[j];
  if(sum>max) max=sum;
  }
 freopen(Out,"w",f);
 fprintf(f,"%d\n",max);
 fclose(f);
 return 0;
 }