Cod sursa(job #266268)

Utilizator RoswenRus Alexandru Roswen Data 25 februarie 2009 09:58:59
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <stdio.h>
long v[17][17],c[17],r[17],s;
int n,m,i,j,sw;
int main()
{
 freopen("flip.in","r", stdin);
 freopen("flip.out","w",stdout);
 scanf("%d", &n);
 scanf("%d", &m);
 for(i=1;i<=n;i++)
	 for(j=1;j<=m;j++)
		scanf("%ld", &v[i][j]);

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

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

	for(j=1;j<=m;j++)
	  {
	  s=0;
	  for(i=1;i<=n;i++)
		 s+=v[i][j];
	  c[j]=s;
	  }
	for(i=1;i<=n;i++)
	  {
	  s=0;
	  for(j=1;j<=m;j++)
		s+=v[i][j];
	  r[i]=s;
	  }

	  for(i=1;i<=16;i++)
		 if(r[i]<0 || c[i]<0)
			sw=0;

 }

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

 printf("%ld", s);
 return 0;
}