Cod sursa(job #142548)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 24 februarie 2008 18:54:28
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream.h>
long double S=0;
long int a[17][17],v[17],max=0;
int i,j,n,m,ok=0,w,q;
int main ()
{
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>m;
for (i=1;i<=n;i++)
     for (j=1;j<=m;j++)
	      {f>>a[i][j];
	       a[i][0]+=a[i][j];
	       a[0][j]+=a[i][j];}
for (j=1;j<=m;j++)
     if (a[0][j]<0)
	 for (i=0;i<=n;i++)
	     {a[i][j]*=-1;
		a[i][0]+=2*a[i][j];}
for (i=1;i<=n;i++)
     if (a[i][0]<0)
	for (j=0;j<=m;j++)
	    {a[i][j]*=-1;
	     a[j][0]+=2*a[i][j];}
while (ok==0)
{
ok=1;
for (j=1;j<=m;j++)
     if (a[0][j]<0) {ok=0;
		     if (max<a[0][j]) {max=a[0][j];
				       q=0;w=j;}}
for (i=1;i<=n;i++)
     if (a[i][0]<0) {ok=0;
		     if (max<a[i][0]) {max=a[i][0];
				       q=i;w=0;}}
if (q=0)
      for (i=1;i<=n;i++) a[i][w]*=-1;
   else for (j=1;j<=m;j++) a[q][j]*=-1;
}
for (i=1;i<=n;i++)
    for (j=1;j<=n;j++) S=S+a[i][j];
g<<S;
f.close();
g.close();
return 0;
}