Cod sursa(job #29541)

Utilizator rodica_tomaRodica Toma rodica_toma Data 9 martie 2007 15:42:23
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream.h>
int n,m, s[33];
long M[17][17], max;
void citire()
  {
    int i,j;
    ifstream in("flip.in");
    in>>n>>m;
    for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
	in>>M[i][j];
    in.close();
  }
void analiza()
  {
   int i,j;
   for(i=1; i<=n;i++)
     if(s[i]==1)
       for(j=1; j<=m; j++)
	 M[i][j]=-M[i][j];
   for(j=n+1; j<=n+m;j++)
     if(s[j]==1)
       for(i=1; i<=n; i++)
	 M[i][j]=-M[i][j];

   long s=0;
   for(i=1; i<=n; i++)
     for(j=1; j<=m; j++)
       s=s+M[i][j];
   if(s>max)
      max=s;
  }
void back(int k)
 {
  if(k==m+n+1)
    analiza();
  else
   for(int i=0; i<=1;i++)
    {
     s[k]=i;
     back(k+1);
    }
  }
int main()
 {
  citire();
  back(1);
  ofstream out("flip.out");
  out<<max;
  out.close();
  return 1;
 }