Cod sursa(job #1382)

Utilizator cetateanuCetateanu Adrian Marius cetateanu Data 13 decembrie 2006 15:51:06
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>
int main()
{
  long int s, a[16][16],smax;
  int m,n,i,j,k,v[16];
  FILE* f=fopen("flip.in","rt");
  FILE* g=fopen("flip.out","wt");
  fscanf(f,"%d",&n);
  fscanf(f,"%d",&m);
  for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
      fscanf(f,"%ld",&a[i][j]);
  smax=0;
  for(i=0;i<=n;i++)
    v[i]=0;
  while(v[0]==0)
    {
      for(i=1;i<=n;i++)
	if(v[i]>0)
	  for(j=1;j<=m;j++)
	    a[i][j]=-a[i][j];
      for(j=1;j<=m;j++)
	{
	  s=0;
	  for(i=1;i<=n;i++)
	    s+=a[i][j];
	  if(s<0)
	    for(i=1;i<=n;i++)
	      a[i][j]=-a[i][j];
	 }
     s=0;
     for(i=1;i<=n;i++)
       for(j=1;j<=m;j++)
	 s+=a[i][j];
     if(s>smax)
       smax=s;
     k=n;
     while(v[k]==1)
       {
	 v[k]=0;
	 k--;
       }
       v[k]=1;
    }
fprintf(g,"%ld", smax);
fclose(g);
fclose(f);
return (0);
}