Cod sursa(job #63079)

Utilizator the_alch3m1stJeler Stefan the_alch3m1st Data 26 mai 2007 08:35:53
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.52 kb
#include<fstream.h>
#include<iostream.h>

long int a[16][16],b[16][16];


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;
fstream fin("flip.in",ios::in);
fstream fout("flip.out",ios::out);

 fin>>m;
 fin>>n;
 for(i=0;i<m;i++)
    for(j=0;j<n;j++)
      {fin>>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);
          }
          
}
 fout<<stot;

}