Cod sursa(job #29761)

Utilizator the_alch3m1stJeler Stefan the_alch3m1st Data 9 martie 2007 21:54:46
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.57 kb
#include <stdio.h>
long int a[16][16],b[16][16];

FILE *fin, *fout;
long int suma(long int s[16][16],int x,int y)
{ int fi,fj;
  long int fsuma=0;
  //
  for(fi=0;fi<x;fi++)
     for(fj=0;fj<y;fj++)
         fsuma+=s[fi][fj];
  return fsuma;
  
    
}

 int copiere(int o ,int x, int y)
{
int fi,fj;
if(o==1){
     for(fi=0;fi<x;fi++)
     for(fj=0;fj<y;fj++)
     a[fi][fj]=b[fi][fj];
     }
if(o==2)
       {
     for(fi=0;fi<x;fi++)
     for(fj=0;fj<y;fj++)
     b[fi][fj]=a[fi][fj];
     }
      
return 0;
}

        


int main()
{long int stot;
 int m,n,i,j,mod;
 fin=fopen("flip.in","r");
 fout=fopen("flip.out","w");
 fscanf(fin,"%d",&m);
 fscanf(fin,"%d",&n);
 for(i=0;i<m;i++)
    for(j=0;j<n;j++)
      {fscanf(fin,"%d",&a[i][j]);
        b[i][j]=a[i][j];
       }
      
 stot=suma(a,m,n);
mod=0;
//while(!mod)
{mod=1;
        for(i=0;i<m;i++)
           { for(j=0;j<n;j++)
                 {
                    b[i][j]=b[i][j]*-1;
                    }
                   if(suma(b,m,n)>stot) {stot=suma(b,m,n);copiere(1,m,n);mod=0;}
                      else copiere(2,m,n);
            }
           
             for(i=0;i<n;i++)
                { for(j=0;j<m;j++)
                    {
                      b[j][i]=b[j][i]*-1;
                     } 
                   if(suma(b,m,n)>stot){stot=suma(b,m,n);copiere(1,m,n);mod=0;}
                      else copiere(2,m,n);
                }
          
}
 fprintf(fout,"%d",stot);
}