Cod sursa(job #51718)

Utilizator hazegirlCatalina Predoi hazegirl Data 16 aprilie 2007 16:46:01
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream.h>
long m[17][17],suma, smax=-1000000;
int n,nn;

void linii(int b)
{int j;
if(b==n+1) {if(suma>smax) smax=suma;
	       /*	suma=0;*/ return;}
	else {  for (j=1;j<=nn;j++)
			suma+=m[b][j];
		linii(b+1);
		for(j=1;j<=nn;j++)
		{suma-=2*m[b][j];
			m[b][j]=-m[b][j];}
		linii(b+1);
		for(j=1;j<=nn;j++)
			{m[b][j]=-m[b][j];
                        suma+=m[b][j];}
		}
return;
}

void coloane(int a)
{int i;
if(a==nn+1) linii(1);
	else { coloane(a+1);
		for(i=1;i<=n;i++)
			m[i][a]=-m[i][a];
		coloane(a+1);
		for(i=1;i<=n;i++)
			m[i][a]=-m[i][a];
		}
return;
}


int main()
{int i,j;
ifstream f("flip.in");
ofstream g("flip.out");
f>>n>>nn;
for(i=1;i<=n;i++)
	for(j=1;j<=nn;j++)
		f>>m[i][j];
coloane(1);
g<<smax;
g.close();
return 0;
}