Cod sursa(job #162862)

Utilizator jupanu92Anonim jupanu92 Data 20 martie 2008 20:15:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
    #include <fstream>
    using namespace std;
      

      
    int main ()
    {   ifstream fin("flip.in");
	ofstream fout("flip.out");
	int n,m,i,j,s,v[17],smax=0,p1,p2,a[17][17];
	fin>>n;fin>>m;
       for (i=1;i<=n;i++){
	   for (j=1;j<=m;j++){
	      fin>>a[i][j];
	   }
       }
       v[0]=0;
       for (i=1;i<=16;i++)v[i]=0;
       while (v[0]==0){
	     s=0;
	     for (i=1;i<=n;i++){
		     if (v[i]==0)
			for (j=1;j<=m;j++)s=s+a[i][j];
		     else
			 for (j=1;j<=m;j++)s=s-a[i][j];
	     }
	       for (j=1;j<=m;j++){
                 p1=0;  
                 for (i=1;i<=n;i++){  
                     if (v[i]==0)p1+=a[i][j];  
                     else p1-=a[i][j];  
                 }  
                 p2=0;  
                 for (i=1;i<=n;i++){  
                     if (v[i]==0)p2-=a[i][j];  
                     else p2+=a[i][j];  
                 }  
                 if (p2>p1)s=s+p2-p1;  
             }  
             if (s>smax)smax=s;  
             v[n]++;  
             for (i=n;i>=1;i--){  
                 if (v[i]>=2){v[i]=0;v[i-1]++;}  
             }  
      }  
   fout<<smax<<'\n';              
   fin.close();  
   fout.close();  
   return 0;  
  }