Cod sursa(job #283673)

Utilizator devianceAnusca Andrei deviance Data 19 martie 2009 15:21:00
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <fstream.h>
int main()
{int n,m,a,i,j,s=0,s1=0,s2=0,nrn,nrp;
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
nrn=0;
nrp=0;
for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
   f>>a[i][j];
for(i=1;i<=n;i++){
nrn=0;
nrp=0;
 for(j=1;j<=m;j++)
  {if(a[i][j]<0) nrn++;
   if(a[i][j]>0) nrp++;
   if(j==m&&nrn>nrp){for(j=1;j<=m;j++)
		      a[i][j]=-a[i][j];
		   }
   if(j==m&&nrn==nrp){for(j=1;j<=m;j++)
		     if(a[i][j]<0)
		     s1+=(-a[i][j]);
		     if(a[i][j]>0)
		     s2+=a[i][j];
		     if(j==m&&s1>s2){for(j=1;j<=m;j++)
				     a[i][j]=-a[i][j];
				     }
		     }
   }
for(j=1;j<=m;j++){
nrn=0;
nrp=0;
   for(i=1;i<=n;i++)
{if(a[i][j]<0) nrn++;
   if(a[i][j]>0) nrp++;
   if(i==n&&nrn>nrp){for(i=1;i<=n;i++)
		      a[i][j]=-a[i][j];
		   }
   if(i==n&&nrn==nrp){for(i=1;i<=n;i++)
		     if(a[i][j]<0)
		     s1+=(-a[i][j]);
		     if(a[i][j]>0)
		     s2+=a[i][j];
		     if(i==n&&s1>s2){for(i=1;i<=n;i++)
				     a[i][j]=-a[i][j];
				     }
		     }
   }
for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
   s+=a[i][j];
g<<s;
f.close();
g.close();
return 0;
}