Cod sursa(job #164108)

Utilizator g_petricagabriel petrica g_petrica Data 23 martie 2008 15:38:56
Problema Jocul Flip Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.99 kb
#include<stdio.h>
int n, m, v[33];
unsigned long a[17][17], b[17][17];
void citire();
int suma();
void citire()
 {
  int i, j;
  FILE *fin=fopen("flip.in", "rt");

  fscanf(fin, "%d %d", &n, &m);
  for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
    fscanf(fin, "%d", &a[i][j]);
 }

int main()
 {

  FILE *fout=fopen("flip.out", "w");
  int p=1, s, max=0, ss, i, j;
  citire();



  while(p)
   {
    p=0;
    for(i=n+m;i>=1;i--)
     if(v[i]==0)
      {
       v[i]=1;
	p=i;
	break;
      }

     for(i=p+1;i<=n+m;i++)
      v[i]=0;
     for(i=1;i<=n;i++)
      for(j=1;j<=m;j++)
       b[i][j]=a[i][j];

     for(i=1;i<=n;i++)
      if(v[i]==1)
       {
	for(j=1;j<=m;j++)
	 b[i][j]=-b[i][j];
       }
     for(i=n+1;i<=n+m;i++)
      if(v[i]==1)
       {
	for(j=1;j<=n;j++)
	 b[j][i-n]=-b[j][i-n];
       }
      s=0;
      for(i=1;i<=n;i++)
       for(j=1;j<=m;j++)
	s=s+b[i][j];

       if(s>max)
	max=s;
    }

   fprintf(fout, "%d", max);
   return 0;
 }